problem importing <wsdl:include ...>

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
jgreve
Premium Member
Premium Member
Posts: 107
Joined: Mon Sep 25, 2006 4:25 pm

problem importing <wsdl:include ...>

Post by jgreve »

I'm trying to connect a WebServicesTransformer to a web service.
The actual wsdl text is below (at end of post).

symptoms:
From DataStage Manager, I use
Import->Table Definitions->WebServices WSDL Definitions...

Once the Web Service Meta Data Importer opens,
I give it the wsdl's url: http://myserver:51800/xyz001Wsd/Config1?wsdl

This error dialog opens up:
"Object reference not set to an instance of an object."
with [Continue] and a [Details] buttons.
[Details] opens a little text area with the following:

Code: Select all

--- begin Details ---
Source: WSMDImportLib
Target Site: System.Web.Services.Description.OperationCollection.GetOperationsFromPort(System.Web.Services.Description.Port)
Wind32/COM code: 0x0
at AscentialSoftware.WebServices.WSMDI.Description.Binder.GetOperationsFromPort(Port poert)
at AscentialSoftware.WebServices.WSMDI.WSDLExplorer.RefreshTreeView(XmlTextReader reader)
--- end Details ---
Clicking [Continue] closes the the error dialog and shows the
browser with some (!) error icons on the right.


Additional points:
1) The same wsdl url imports and runs as expected in SoapUI.
2) The DataStage Manager can import wsdl for an RTI web service I have deployed.
3) My problem wsdl has a series of nested <wsdl:import ....> tags that I believe DataStage is having a hard time with because the RTI generated wsdl has no <wsdl:import>'s.


Has anyone found an easy way around this?
Is it even an issue in DataStage 8.1 ?

Thanks for reading this far,
John G.

Code: Select all

--- begin wsdl ---
<wsdl:definitions
   xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"
   name = "xyz001Wsd"
   targetNamespace = "urn:xyz001Wsd"
   xmlns:bns0 = "urn:xyz001Wsd/Config1/document"
   xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/">

  <wsdl:import
      location = "http://myserver:51800/xyz001/Config1/bindings?wsdl&style=document"
      namespace = "urn:xyz001Wsd/Config1/document"/>
  <wsdl:service name = "xyz001">
    <wsdl:port
       name = "Config1Port_Document"
       binding = "bns0:Config1Binding">
      <soap:address location = "http://myserver:51800/xyz001/Config1?style=document"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
--- end wsdl ---
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

The Web Services Pack is unable to import WSDL that is comprised of "multiple" files or additional xsd's. I've heard that a patch is being worked on for application to 8.x that helps alleviate this, but I'm not sure if it's been completed, and I'm not sure it will be applicable to 7.x. I'll do some checking in the meantime.

You "may" be able to get this to work by putting in the endpoint details yourself (in the "advanced" dialog), and then building the SOAP body manually upstream. If you can capture the SOAPbody within your testing tool, cutting and pasting it into a transformer is a good start to just "test" things.

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
jgreve
Premium Member
Premium Member
Posts: 107
Joined: Mon Sep 25, 2006 4:25 pm

confirmation - thank you

Post by jgreve »

eostic wrote:The Web Services Pack is unable to import WSDL that is comprised of "multiple" files or additional xsd's.
...
Ernie, thank you for confirming that behavior. Knowing that makes trouble shooting much easier. Hmm - I suppose I should open a ticket with IBM for this. In the mean time, I'll see what I can do manually.
John G.
Post Reply