I am new to Web Methods 4.6 as it was dropped in my lap during an integration change. I am almost at ground level, I have been able to understand some things pretty clearly. Here is my question, I have an inbound document that appears to be SOAP oriented (never worked with this XML flavor before). This is the top:
I see SOAP oriented services ijn the developer but everything I am trying to get the document into the pipeline is throwing a Node error com.wm.lang.xml.Node:-1:8219773, is there something special I have to do to get the data to a point where I can start the mapping? Any feedback is greatly appreciated. Thank you. -Perry
Generally if the document is really a SOAP message, there would be a WSDL that describes the SOAP messages. You would use the WSDL file to generate the client or the service implementation. Also, it would have a header like this:
I don’t know of “xml-soap-ews” being related to any SOAP specification (and Google didn’t show up anything). It looks to me that this is just a XML file that matches the XML schema of namespace “urn:xml-soap-ews” - possibly a schema generated from a Java object by a tool like Axis, since it looks like the ComplexType name could be describing the Java class com.hp.ews.exs.idl.QuoteInfo that looks like this:
I assume you are posting the XML document to Integration Server with the ContentType =“text/xml”, so the Integration Server XML ContentHandler is run on the incoming data.
The XML ContentHandler will put the parse tree of the incoming XML document in the pipeline with the name “node”. Note that since the Integration Server XML parser is a streaming (on demand) parser, the document will not be actually parsed until there are operations done to the parse tree that require parsing.
There are two common ways to convert the XML node to a format that is easy to map in the Integration Server pipeline. The services WmPublic pub.xml:xmlNodeToDocument or pub.xml:queryXmlNode. Use the former if you want all the data in the XML document. Use the latter if you just want to pull out the values of a couple elements in the XML document.
Thank you kindly for taking the time to respond here Fred. This really helps me.
I was following the instruction Fred gave me but I realized I don’t have a 6.0 set up but rather the 4.6 set up. I could not locate a WmPublic pub.xml. Is the service that performs xmlNode to Document in 4.6? Is this something that maybe was omitted in the installation of WM? Thank you.
Look at WmPublic pub.web services (documentToRecord and queryDocument). They still exist in 6.x, but where deprecated and replaced with version with new names in an effort to standardize naming across all webMethods products (document became node and record became document in the Integration Server product to match terminology in the Broker).
Developer has a Buildin Services Manual that should describe them better (once you know where to look).