I'm looking at your answer to my original question. If I don't need a WSML for the client, then why does it tell...
me it can't find the mappings for custom data types? (I'm trying to connect a VB6 client to an Axis Service).
I'll reiterate that I'm not an expert on MS SOAP Toolkit, so please take my answer with a grain of salt. Having just scoured around the Web for a bit, it appears that my first answer was incorrect. I gather from this posting that MS SOAP also uses a WSML file on the client side to invoke custom type mappers. (This makes interoperability pretty challenging, since only MS SOAP uses WSML.) As far as I can tell, you have two choices:
- You can hand-craft a WSML file
- You can create a COM object that exposes the same interface as the Axis service and generate a WSML file from it
I suspect #2 is the easier option. (Does MS SOAP provide a tool that allows you to compile the WSDL document to generate a COM interface?) In either case, you'll need to define a user-defined type (create a structure using the VB keywords "Type...EndType") that looks like the complex type that you're receiving from the Axis service. You also need to create a MS SOAP UDT Mapper to map the Axis complex type to your VB user defined type. You might take a glance at this article about dealing with complex types. And this posting.
Dig Deeper on Service-oriented architecture (SOA)
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations. Continue Reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well. Continue Reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems. Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.