I am trying to create a Web Service Connector using the attached WSDL.
The WSDL is loaded with lot of errors but it looked like it created all the required document definitions, schema definitions and web service flow services. (The errors txt file is also attached to this posting)
But when I looked closely at the document definitions all of them are having same structure. Is there any thing that is obviously wrong with the way this WSDL is constructed?.
I have another another WSDL which is almost same like the attached, the difference is the import statements try to load the schema file directly from the hard drive instead of from NetSuite. I am not even able to load
this WSDL, webMethods developer is throwing an error. This WSDL is also attached, but I skipped the imported schema XSD files they are too many!
Please advice if there is any thing wrong with these WSDL files.
You WSDL contains multiple operations which webMethods IS server does not support, so the auto generation of a web service connector is not going to work with that WSDL. You schema import errors may or may not be okay. If the documents look okay, correct namespaces, everything is there etc then I wouldn’t be concerned. The duplicate definition is not always an accurate error because of the way the IS server reads in the schema.
Also since you are using imports in your WSDL, the XSD schema files have to be accessible, that’s where the actual types definitions are found.
I think creating Web Service Connectors from WSDL’s containing multiple ops is OK. However, the WSDL-(not)-generator can only create WSDL’s that contain a single operation.
My guess is that the issue lies with the imported schemas which are an essential component of the service definition.
I was initially concerned about the schema errors, I ignored them and went ahead and looked at the document definitions, all of them have same definition, which is wierd, each document should be more or less unique in structure and the correspoding services are using them as input.
Open the WSDL using XML Spy Enterprise or one of the many web services testing tools such as SOAP Sonar, SOATest, Lisa WS-Testing, etc. You can also validate the WSDL online using one of the WS-I interoperability tests.
If you have all of the schemas in the same location as your WSDL (or in the correct location relative to the WSDL) and the schema does not use recursive definitions, then the web services connector should work.
That said, you can also build the request messages manually from doc types created from the schema elements and invoke the service using pub.client:soapHTTP. The WSC is just a generated Flow service, nothing you can’t do on your own (and probably better).
I am facing the same kind of problem (see attached error file and wsdl). It looks like wm doesn’t like multiple schema inside one wsdl. But we only left one operation and what that operation is returning, and we still get duplicate declaration. AddTPCServicesImpl.wsdl (2.77 KB) error_warning.txt (987 Bytes)
There is no issue with using a WSDL that has multiple imported schemas. That is my common practice.
However, IS 6.5 and earlier do not support schemas with recursive (self-refercing schemas). Look closely at the details of the message to see if that is the issue.
IS 7.1 (still in FCS at the time of this post) adds support for recursive schemas and an entirely new “web services descriptor” node that represents the WSDL (service interface) of either a provided web service or one that you are consuming from an external provider.