Thanks for taking interest, as this is a tough issue for me. As I've
mentioned I cannot use any bindings (objects => XML), and must pass the XML
as a String :( I would imagine that the http component should handle parsing
this SOAP request differently, before passing it into the jsr181 component.

Here is some XML stack trace. I am passing the String
<![CDATA[<ItemData></ItemData>]]>. You will see that the XML content is gone
in the message!

DEBUG - JettyContextManager            - Dispatching job:
[EMAIL PROTECTED],io=0,w=true,b=0|0]
DEBUG - ConsumerProcessor              - Receiving HTTP request: POST
/AxDataGateway/ HTTP/1.1
Host: 172.16.10.243:8192
Content-Type: text/xml; charset=utf-8
Content-Length: 400
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: IBM Web Services Explorer
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Connection: close

INFO  - SoapHelper                     - SERVICE:
{http://www.musiciansfriend.com}AxDataGateway
INTERFACE: null
OPERATION: {http://www.musiciansfriend.com}releaseXmlDocument
INFO  - SoapHelper                     - CONTENT: null
DEBUG - DeliveryChannelImpl            - Send
ID:robert-ottaways-computer.local-61881-1162318278972-7:2 in
DeliveryChannel{servicemix-http}
DEBUG - DeliveryChannelImpl            - Sent: InOut[
  id: ID:robert-ottaways-computer.local-61881-1162318278972-7:2
  status: Active
  role: consumer
  service: {http://www.musiciansfriend.com}AxDataGateway
  endpoint: AxDataGateway
  operation: {http://www.musiciansfriend.com}releaseXmlDocument
  in: <?xml version="1.0" encoding="UTF-8"?><q0:releaseXmlDocument
xmlns:q0="http://www.musiciansfriend.com";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><q0:xmlDoc/></q0:releaseXmlDocument>
]
DEBUG - DefaultBroker                  - Routing exchange InOut[
  id: ID:robert-ottaways-computer.local-61881-1162318278972-7:2
  status: Active
  role: provider
  service: {http://www.musiciansfriend.com}AxDataGateway
  endpoint: AxDataGateway
  operation: {http://www.musiciansfriend.com}releaseXmlDocument
  in: <?xml version="1.0" encoding="UTF-8"?><q0:releaseXmlDocument
xmlns:q0="http://www.musiciansfriend.com";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><q0:xmlDoc/></q0:releaseXmlDocument>
] to:
ServiceEndpoint[service={http://www.musiciansfriend.com}AxDataGateway,endpoint=AxDataGateway]

You can see that the 'in' message parameter is empty = </xmlDoc>
I sent in the following <![CDATA[<ItemData></ItemData>]]>

If I pass in a simple String like 'bob' you will see it in the 'in' message!
Here is a trace:

INFO  - SoapHelper                     - SERVICE:
{http://www.musiciansfriend.com}AxDataGateway
INTERFACE: null
OPERATION: {http://www.musiciansfriend.com}releaseXmlDocument
INFO  - SoapHelper                     - CONTENT: null
DEBUG - DeliveryChannelImpl            - Send
ID:robert-ottaways-computer.local-61881-1162318278972-7:3 in
DeliveryChannel{servicemix-http}
DEBUG - DeliveryChannelImpl            - Sent: InOut[
  id: ID:robert-ottaways-computer.local-61881-1162318278972-7:3
  status: Active
  role: consumer
  service: {http://www.musiciansfriend.com}AxDataGateway
  endpoint: AxDataGateway
  operation: {http://www.musiciansfriend.com}releaseXmlDocument
  in: <?xml version="1.0" encoding="UTF-8"?><q0:releaseXmlDocument
xmlns:q0="http://www.musiciansfriend.com";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><q0:xmlDoc>bob</q0:xmlDoc></q0:releaseXmlDocument>
]

You can see the String 'bob' is in there! I have been going through the
servicemix-http and servicemix-soap code to find where the disappeerence
occurs. I've dug as deep as the readSoapUsingStax method in the SoapReader
class. A new StaxSource is created and set on a SoapMessage (as
javax.xml.transform.Source). Im guessing this StaxSource is close to the
problem. I will do a little more digging.
-- 
View this message in context: 
http://www.nabble.com/ServiceMix.war-and-JSR181-context-tf2480516.html#a7102949
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to