Author |
Message
|
francoisvdm |
Posted: Wed Sep 26, 2007 6:16 am Post subject: WebMethods |
|
|
Partisan
Joined: 09 Aug 2001 Posts: 332
|
MB V602, windows platform
MB receives a web services call from WebMethods, put the payload does not parse out. Here is data from trace node directly after web services node, all data just one long string.
When I receive the same payload from SOAPUI then it parse nicely out in a tree. I did cut some data out of this list to save space, so it is possible that I did not cut it 100% on correct boundaries.
Code: |
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'BGCPSQO002001'
(0x03000000):MessageType = 'Envelope'
(0x03000000):MessageFormat = 'XML1'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2007-09-26 13:28:36.583'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'SOAP-HTTP'
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'text/xml; charset="utf-8"'
)
(0x01000000):HTTPInputHeader = (
(0x03000000):X-Original-HTTP-Command = 'POST http://165.75.249.174/FROMDHL HTTP/1.0'
(0x03000000):User-Agent = 'Mozilla/4.0 [en] (WinNT; I)'
(0x03000000):Accept = 'image/gif, */*'
(0x03000000):Host = '165.75.249.174:80'
(0x03000000):Content-Type = 'text/xml; charset="utf-8"'
(0x03000000):SOAPAction = '""'
(0x03000000):Content-Length = '12932'
)
(0x0100001B):MRM = (
(0x0300000B)http://schemas.xmlsoap.org/soap/envelope/:encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/'
(0x01000013)http://schemas.xmlsoap.org/soap/envelope/:Body = (
(0x0100001B)http://196.38.245.242/webServices.Inbound:webserviceIn = (
(0x0300000B)http://schemas.xmlsoap.org/soap/encoding/:root = TRUE
(0x0300000B):DataID = 'ITMREC'
(
(0x0300000D)http://www.w3.org/2001/XMLSchema-instance:type = 'http://www.w3.org/2001/XMLSchema:string'
)
(0x0300000B):Content = '<sap_zpmaterialrecon> <Data_record> <sap_zpmaterialrecon_cwdata> <sap_zpmaterialrecon_zpmaterialrecon000> <sap_zpmaterialrecon_zpmaterialrecon000> <MATERIAL_NUMBER>BH </MATERIAL_NUMBER> <MATERIAL_TYPE>CGT</MATERIAL_TYPE> <STICKS_IN_PACK>020</STICKS_IN_PACK> <PACK_BARCODE>6001237012888 </PACK_BARCODE> <CARTON_IN_CASE>005</CARTON_IN_CASE> <CASE_BARCODE>16001237012388 </CASE_BARCODE> <PACKS_IN_CARTON>010</PACKS_IN_CARTON> <CARTON_BARCODE> </CARTON_BARCODE> </sap_zpmaterialrecon_zpmaterialrecon000> </sap_zpmaterialrecon_zpmaterialrecon000> </sap_zpmaterialrecon_cwdata> </Data_record></sap_zpmaterialrecon>'
(
(0x0300000D)http://www.w3.org/2001/XMLSchema-instance:type = 'http://www.w3.org/2001/XMLSchema:string'
)
)
)
)
) |
Any idea? Thanks _________________ If you do not know the answer or you get the urge to answer with "RTFM" or "Search better in this forum", please refrain from doing so, just move on to the next question. Much appreciated.
Francois van der Merwe |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 26, 2007 6:20 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Are you using the predefined SOAP message definition in your MRM?
How is the Content element in your message defined?
Does a user-trace show that anything is being parsed as 'self-defining'?
What is a 'web services node'? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
francoisvdm |
Posted: Wed Sep 26, 2007 6:32 am Post subject: |
|
|
Partisan
Joined: 09 Aug 2001 Posts: 332
|
Thanks for the reply:
I've got a WSDL that I drag and drop on the flow.
Here is the msg as built by SOAPUI - WebMehods use the same WSDL to build their content:
Code: |
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://196.38.245.242/webServices.Inbound">
<soapenv:Header/>
<soapenv:Body>
<web:webserviceIn soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<DataID xsi:type="xsd:string">ORDPCK</DataID>
<Content xsi:type="xsd:string"><sap_zppickpack><Data_record><sap_zppickpack_cwdata><sap_zppickpack_zppickpackheader000><sap_zppickpack_zppickpackheader000><ORDER_NUMBER>000123456789</ORDER_NUMBER><DELIVERY_DATE>10092007</DELIVERY_DATE><sap_zppickpack_zppickpacklines000><sap_zppickpack_zppickpacklines000><MATERIAL_NUMBER>000000000000001230</MATERIAL_NUMBER><ITEM_LINE>000001</ITEM_LINE><QUANTITY>0000000000001000</QUANTITY><REASON_CODE>PX</REASON_CODE></sap_zppickpack_zppickpacklines000></sap_zppickpack_zppickpacklines000></sap_zppickpack_zppickpackheader000></sap_zppickpack_zppickpackheader000></sap_zppickpack_cwdata></Data_record></sap_zppickpack></Content>
</web:webserviceIn>
</soapenv:Body>
</soapenv:Envelope> |
Content is a string.... but as it comes in here it gets nicely parced out in a MB tree.
Have not enabled user-trace... will look and see.
Web service is HTTP input node as implemented by support pac IA90.
Thanks _________________ If you do not know the answer or you get the urge to answer with "RTFM" or "Search better in this forum", please refrain from doing so, just move on to the next question. Much appreciated.
Francois van der Merwe |
|
Back to top |
|
 |
Bill.Matthews |
Posted: Wed Sep 26, 2007 6:47 am Post subject: |
|
|
 Master
Joined: 23 Sep 2003 Posts: 232 Location: IBM (Retired)
|
As you have already realized - the <Content> is a string - that happens to also be XML. If you take the example and make it look pretty, you get this:
'<sap_zpmaterialrecon>
<Data_record>
<sap_zpmaterialrecon_cwdata>
<sap_zpmaterialrecon_zpmaterialrecon000>
<sap_zpmaterialrecon_zpmaterialrecon000>
<MATERIAL_NUMBER>BH </MATERIAL_NUMBER>
<MATERIAL_TYPE>CGT</MATERIAL_TYPE>
<STICKS_IN_PACK>020</STICKS_IN_PACK>
<PACK_BARCODE>6001237012888 </PACK_BARCODE>
<CARTON_IN_CASE>005</CARTON_IN_CASE>
<CASE_BARCODE>16001237012388 </CASE_BARCODE>
<PACKS_IN_CARTON>010</PACKS_IN_CARTON>
<CARTON_BARCODE> </CARTON_BARCODE>
</sap_zpmaterialrecon_zpmaterialrecon000>
</sap_zpmaterialrecon_zpmaterialrecon000>
</sap_zpmaterialrecon_cwdata>
</Data_record>
</sap_zpmaterialrecon>'
You need to extract this string into a tree variable and then parse it, possibly using a CREATE field with a Parse..
Then you have something that you can work on.
You will most likely have to do the reverse to get the response in a form that the web services client can understand. _________________ Bill Matthews |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 26, 2007 6:48 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Okay.
How did you build your message set? Did you import the WSDL?
How does the message definition define the Content element?
Are you sure that the SOAPUI behavior is correct?
Does a user trace (at debug level) show that any elements are being parsed as "self-defining"? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Sep 26, 2007 12:22 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Francois... That looks suspiciously like an SAP IDOC. So where is your EDI_DC40?
Are you sure that your message is even well formed (according to your SAP template...)?
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
francoisvdm |
Posted: Wed Sep 26, 2007 10:40 pm Post subject: |
|
|
Partisan
Joined: 09 Aug 2001 Posts: 332
|
Thanks all... I'll try the suggestions.
fjb_saper.... you are almost correct. Source system formats the data for me as close as possible to SAP payload portion. I need to add the SAP Idoccontrol and then call via SAP adapter.
So, where I am stuck is that from a test web service caller the data automatically parse out in a nice MB tree - what joy, but from webMethods the "content" section stays as 1 long "XML" string and does not parse out in MB string..... weird. _________________ If you do not know the answer or you get the urge to answer with "RTFM" or "Search better in this forum", please refrain from doing so, just move on to the next question. Much appreciated.
Francois van der Merwe |
|
Back to top |
|
 |
|