Hi,
Thanks.
And I really want to see the soap message send out by your cxf bc
provider, you can insert some tool like tcpmonitor between your cxf bc
provider and externel Axis services to dump the onwire soapmessage.
Freeman
angeloNZ wrote:
The external service is an Axis 1.2 web service application being hosted on a
Websphere server.
In JbiOutWsdl1Interceptor I logged the request message body after the call
to saveLaterUsedNS(element) and here's the DOM body:
<?xml version="1.0" encoding="UTF-8"?>
<jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"
xmlns:msg="http://wl0438.solutions.infinity.co.nz:9080/TREISFeedWeb/services/FeedService"
name="getXMLFeedRequest" type="msg:getXMLFeedRequest" version="1.0">
<jbi:part>
<rem:getXMLFeed
xmlns:rem="http://remote.service.callcenter.nzta.govt.nz">
<rem:userName>myUser</rem:userName>
<rem:password>password</rem:password>
</rem:getXMLFeed>
</jbi:part>
</jbi:message>
I've also tried modifying the saveLaterUsedNS() method to add the xsd and
xsi namespaces in the jbi:message element in hope that it would be added
later on but no luck. I'll have another go and try adding it in the
getXMLFeed element instead.
Freeman Fang wrote:
Ok, I saw the namespace in the page source now, and I saw the incorrect
namespace xmlns:xsi="xsi"
Could you also append the soap message cxf bc provider send to your
external service?
And would you tell me what's the kind of external service are you using?
Freeman
angeloNZ wrote:
Hi,
If you're viewing the xml in a browser you need to view the page source
to
see the namespace definitions but they're there.
Freeman Fang wrote:
Hi,
Your soap response message looks really strange for me, there is no
prefix "soapenv" defined in your message, moreover, there's no any
prefix defined in your message, so it's an invalid soap message, that
can explain why getBodyElement(message) return null.
What kind of external service are you use?
Freeman
angeloNZ wrote:
Hi,
Yes, I'm getting the full soap response I expect and yes the
getBodyElement(message) is always null.
Attached is the wsdl file being referenced from my cxf-bc xbean.xml.
Sorry, I'm not clear what you meant with 'onwire soap message", were
you
referring to the soap response received by the requesting client? I've
attached a copy of that as well.
I don't have a testcase currently as I'm using soapUI as the soap
client
and
I just discovered this problem as I was creating integration tests
using
the
Spring approach meantioned in the site.
http://www.nabble.com/file/p22488949/soapresponse.xml soapresponse.xml
http://www.nabble.com/file/p22488949/FeedService.wsdl FeedService.wsdl
Freeman Fang wrote:
Hi,
You get your soap response from external service, and then in
JbiInWsdl1Interceptor the getBodyElement(message) always return null,
right?
Can you dump the onwire soap message returned from your external
service
and also append your wsdl used by cxf bc provider?
I suspect the soap version mismatch cause this problem.
Also if you can attach a testcase, that's would be great.
Freeman