Hello,

I have successfully deployed and tested (with client.html tester page with
handwritten SOAP) invoking an external webservice to create a Speaker object
in the DB2 database using BPEL deployed in ODE BPEL engine installed in
Servicemix.

I tried it in 2 ways, one using the ODE build example (speaker-sa.zip) and
one using Servicemix maven example (speakerbpel-sa-1.0-SNAPSHOT.jar).

I have attached both Service Assemblies with the email.. and both give me
the problem I have stated below. 

I would sincerely appreciate any help, because I have been working to solve
this since the last week and I feel, this probably might be addressed in the
mailing list already.

This is the configuration :-

Axis webservice client running on Tomcat   -- 
http://localhost:8580/speakerweb/Speaker.jsp
Axis Webservice running on Jboss  ---  
http://localhost:8280/axis/services/Speaker?wsdl
ODE BPEL engine installed on standalone Servicemix  ---  
http://localhost:8192/ISpeakerServiceService/Speaker

Service Assembly has  :  HTTP Consumer BC with speakerclient.wsdl pointing
to http://localhost:8192/ISpeakerServiceService/Speaker
                        HTTP Provider with Speaker.wsdl BC pointing to
http://localhost:8280/axis/services/Speaker?wsdl
                        ODE SE with the deploy.xml  which has one provide for 
HTTP Consumer  and
one invoke for HTTP Provider

Now the following is the SOAP I have manually written which I use in the
client.html  .. The service works fine with this SOAP message, the external
webservice gets invoked and "Some Speaker" record gets created in the table

<?xml version="1.0" encoding="UTF-8"?>
  <soapenv:Envelope
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/
http://schemas.xmlsoap.org/soap/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:spe="http://speakerclient.pinc.com";>
        <soapenv:Body>
            <spe:in0>
              <spe:id xsi:nil="true" />
              <spe:name>Some Speaker</spe:name>
              <spe:rating>10</spe:rating>
              <spe:voided>false</spe:voided>
            </spe:in0>
  </soapenv:Body>
</soapenv:Envelope>

However, from my tomcat axis client, I point to the service mix service and
axis creates the following SOAP.. In this case, I get a HTTPStatus 500
Exception

<?xml version="1.0" encoding="UTF-8"?>
        <soapenv:Envelope 
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";>
                
                <soapenv:Body>
                        <in0 xmlns="http://speakerclient.pinc.com";>
                                <id xsi:nil="true"/>
                                <name>Some Speaker</name>
                                <rating>10</rating>
                                <voided>false</voided>
                        </in0>
                </soapenv:Body>
        </soapenv:Envelope>


Below is the exception stacktrace :-  Please help .. I have reached the end
of my nerves .. I would immensely appreciate any help I can get … 

11:15:43,280 | DEBUG | pool-2-thread-2 | ointReferenceContextImpl |
i.EndpointReferenceContextImpl   62 | resolveEndpointReference:
<?xml version="1.0" encoding="UTF-8"?>
<service-ref>
  <jbi:end-point-reference jbi:end-point-name="Speaker"
    jbi:service-name="sns:ISpeakerServiceService"
xmlns:sns="http://speaker.pinc.com"/>
</service-ref>

11:15:43,280 | DEBUG | pool-2-thread-2 | ServiceMixMapper         |
de.jbi.msgmap.ServiceMixMapper  161 | toNMS() normalized message
(doc-like):<?xml version="1.0" encoding="UTF-8"?>
<in0 xmlns="http://speakerclient.pinc.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";>
  <id xsi:nil="true"/>
  <name>Clint Eastwood</name>
  <rating>10</rating>
  <voided>false</voided>
</in0>

11:15:43,436 | DEBUG | pool-1-thread-1 | DeliveryChannelImpl      |
.messaging.DeliveryChannelImpl  413 | Send ID:192.168.236.75-115953141f8-2:1
in DeliveryChannel{OdeBpelEngine}
11:15:43,468 | ERROR | pool-flow.seda.servicemix-http-thread-3 |
HttpComponent            | ervicemix.common.BaseLifeCycle   48 | Error
processing exchange InOnly[
  id: ID:192.168.236.75-115953141f8-2:1
  status: Active
  role: provider
  service: {http://speaker.pinc.com}ISpeakerServiceService
  endpoint: Speaker
  operation: {http://speaker.pinc.com}saveSpeaker
  in: <?xml version="1.0" encoding="UTF-8"?><in0
xmlns="http://speakerclient.pinc.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";><id
xmlns="http://speakerclient.pinc.com"; xsi:nil="true"/><name
xmlns="http://speakerclient.pinc.com";>Clint Eastwood</name><rating
xmlns="http://speakerclient.pinc.com";>10</rating><voided
xmlns="http://speakerclient.pinc.com";>false</voided></in0>
]
java.lang.Exception: Invalid status response: 500
        at
org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:191)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:595)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:595)
11:15:43,468 | DEBUG | pool-flow.seda.servicemix-http-thread-3 |
DeliveryChannelImpl      | .messaging.DeliveryChannelImpl  413 | Send
ID:192.168.236.75-115953141f8-2:1 in DeliveryChannel{servicemix-http}
11:15:43,468 | DEBUG | Thread-10  | DeliveryChannelImpl      |
.messaging.DeliveryChannelImpl  265 | Accepting
ID:192.168.236.75-115953141f8-2:1 in DeliveryChannel{OdeBpelEngine}
11:15:43,468 | ERROR | pool-4-thread-4 | Receiver                 |
org.apache.ode.jbi.Receiver$1   181 | Error processing JBI message.
java.lang.ClassCastException: org.apache.servicemix.jbi.messaging.InOnlyImpl
        at
org.apache.ode.jbi.OdeConsumer.onJbiMessageExchange(OdeConsumer.java:165)
        at
org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:40)
        at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)

Best Regards,
Pallavi Jadhav
http://www.nabble.com/file/p13235712/speaker-sa.zip speaker-sa.zip 
http://www.nabble.com/file/p13235712/speakerbpel-sa-1.0-SNAPSHOT.jar
speakerbpel-sa-1.0-SNAPSHOT.jar 
-- 
View this message in context: 
http://www.nabble.com/Invoke-External-WebService-using-ODE-BPEL-in-Servicemix-gives-HTTPStatus-500-response-when-SOAP-message-is-created-through-Axis-..-Please-help-tf4634838s12049.html#a13235712
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to