Hi Ivanhnoe,
Not sure why only the first invocation failed, if you can dump the soap
message, it would be helpful.
About the build issue, yes, 3.3 snapshot need jaxb-api 2.1, so if you
are using some early version of jdk 16(which is shipped with jaxb-api
20), you will see the class conflict problem. Make sure you build
snapshot 3.3 with jdk 1.5.
And I recommand that currently you should try with 3.2.2 snapshot, which
will be release very soon.
Best Regards
Freeman
Ivanhoe Abrahams wrote:
Hi Freeman
Thank you for your response, I tried this on servicemix 3.2.1 but the
useJBIWrapper attribute is not available there, so I checked out the
latestversion from svn, which is servicemix 3.3.
I am now receiving a soap message on the SoapUI client but the body was
empty.
The message looked like this
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body/>
</soap:Envelope>
After some debugging I found that by the time the message reached the CXF
binding component (on the way back from the JMS component)the soap
envelope/body had already been removed (only the XSD defined message
remained), so I changed the soap attribute on the JMS Binding component to
"false"..
NOW I have really strange behaviour. When I start servicemix and try out my
sa, the first time it fails with the following message
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>org.apache.xerces.dom.DeferredTextImpl cannot be cast
to org.w3c.dom.Element</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
BUT thereafter, If I try it a gain, it works just as I expect. The above
error only happens on the very first try.
Also on this first try the message that reaches the JMS standalone test app
is different than the other messages that work.
On the first try it contains a soap envelope/body but on subsequent calls it
only contains only the XSD defined message.
This is really confusing.
By the way, I had a couple of problems building servicemix 3.3 specifically
the JAXB-API which now depends on JAXB-API 2.1
So, maybe servicemix 3.3 is not stable enough yet????.
I am now downloading the servicemix 3.2.2 binary to see if that helps.
So to recap, all I am trying to do is send a soap message from SoapUI <->
ServicemixCXF-BC <-> ServiceMixJMS-BC <-> ActiveMQ Test App
If you have any other suggestions on what I am doing wrong, please do so
Thank you in advance
Ivanhnoe Abrahams
On Mon, Apr 7, 2008 at 4:44 PM, Freeman Fang <[EMAIL PROTECTED]> wrote:
Hi,
I assume you are using servicemix 3.2.2 snapshot, then you can add
useJBIWrapper="false" to cxf consumer configuration.
Freeman
Ivanhoe Abrahams wrote:
Hello
I am trying to set up a simple example whereby I have a CXF consumer
endpoint which forwards to my JMS provider which calls out to a simple
ActiveMQ queue which responds with a hardcoded message
I can make the call from SoapUI and can see the message ending up at the
external ActiveMQ test-app which responds with the hardcoded message,
The problem is that the JMS provider component does not SEEM wrap the
response in a Normalized message, and as a result the CXF consumer
complains....
and sends back the following fault to the SoapUI.
<faultstring>Message wrapper element is '{
http://servicemix.apache.org/cxf-jms/types}GetPersonResponse<http://servicemix.apache.org/cxf-jms/types%7DGetPersonResponse>'
but expected
'{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message<http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper%7Dmessage>
'</faultstring>
Below is my CXF consumer SU xbean.xml and my JMS provider SU xbean.xml
CXF XBEAN.XML -->
<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0" xmlns:test="
http://servicemix.apache.org/cxf-jms">
<cxfbc:consumer wsdl="classpath:test.wsdl"
targetService="test:MyPersonService"/>
</beans>
<jms:endpoint service="test:MyPersonService"
endpoint="myProvider"
role="provider"
destinationStyle="queue"
jmsProviderDestinationName="TOOL.DEFAULT"
connectionFactory="#connectionFactory"
wsdlResource="classpath:test.wsdl"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true" />
Any help would be appreciated
ICA