You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Kristof <At...@gmail.com> on 2005/12/23 16:18:29 UTC

Problem sending soap to pxe

Hi,

Using Servicemix 2.0.2 in Windows XP, I'm trying to run the "HelloWorld" 
BPEL example from fivesight PXE with the PXE engine included with 
Servicemix. Analog to the "AsyncProcess" i made a service unit in a 
service assembly and placed it into the deploy directory of the BPEL 
example.

The pxe-system.xml included with the HelloWorldSU  looks like this:

  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <#> <system-descriptor name="*HelloWorldSU*" 
xmlns:xsi="*http://www.w3.org/2001/XMLSchema-instance*" 
xsi:schemaLocation="*http://www.fivesight.com/pxe/system-descriptor/ 
http://www.fivesight.com/pxe/system-descriptor/*" 
xmlns:hw="*http://pxe/bpel/unit-test.wsdl*" 
xmlns="*http://www.fivesight.com/pxe/system-descriptor/*" 
wsdlUri="*urn:/HelloWorld.wsdl*">
- <#> <channels>
  <channel name="*channel1*" />
  </channels>
- <#> <services>
- <#> <service name="*HelloService*" provider="*uri:jbi*">
- <#> <properties>
  <property name="*namespace*" 
value="*uri:fivesight.com/examples/HelloWorldJBI*" />
  </properties>
- <#> <imports>
  <port name="*HelloPort*" type="*hw:HelloPortType*" 
channel-ref="*channel1*" />
  </imports>
  </service>
- <#> <service name="*helloWorld.BpelService*" provider="*uri:bpel*">
- <#> <properties>
  <property name="*compiledProcess*" value="*HelloWorld.cbp*" />
  </properties>
- <#> <exports>
  <port name="*helloPartnerLink.me*" type="*hw:HelloPortType*" 
channel-ref="*channel1*" />
  </exports>
  </service>
  </services>
  </system-descriptor>

I'm trying to send a soap message through a HttpListener to the BPEL 
process.  The code fragment  in servicemix.xml  looks like this:

<!-- Create a http server binding on port 8912 -->   
    <sm:activationSpec componentName="httpReceiver"    
              service="foo:httpBinding"
              endpoint="httpReceiver"
              destinationService="pxe:HelloService"
              destinationEndpoint="HelloPort" destinationOperation="hello">
                       <sm:component>
                          <bean xmlns="http://xbean.org/schemas/spring/1.0"
                                
class="org.servicemix.components.http.HttpConnector">
                                     <property name="host" 
value="localhost"/>
                                     <property name="port" value="8912"/>
                          </bean>
                        </sm:component>
    </sm:activationSpec>

The soap message :

<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <!-- test soap message -->
  <SOAP-ENV:Body>
    <ns1:hello xmlns:ns1="http://pxe/bpel/unit-test.wsdl">
        <TestPart xmlns="">Test01</TestPart>
    </ns1:hello>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

When posting this message to the HTTPListener i get  the following 
MessageTranslationException:

[INFO] DeploymentService - HelloWorldSA Moving 
C:\servicemix-2.0.2\examples\bpel\.\wdir\defaultJBI\t
mp\HelloWorld-sa.1.tmp to 
C:\servicemix-2.0.2\examples\bpel\.\wdir\defaultJBI\service-assemblies\Hel
loWorldSA
[INFO] DeploymentService - deployServiceUnit: unpack archive 
C:\servicemix-2.0.2\examples\bpel\.\wdi
r\defaultJBI\service-assemblies\HelloWorldSA\HelloWorld-su.zip to 
C:\servicemix-2.0.2\examples\bpel\
.\wdir\defaultJBI\components\PxeBpelEngine\serviceunit\HelloWorldSU
[INFO] DomainNodeImpl - Deploying system "HelloWorldSU".
[INFO] DomainNodeImpl - Deploying service "HelloService" on "uri:jbi".
[INFO] ServiceProviderBackend - Deploying service "HelloService".
[INFO] DomainNodeImpl - Deploying service "helloWorld.BpelService" on 
"uri:bpel".
[INFO] ServiceProviderBackend - Deploying service "helloWorld.BpelService".
[INFO] BpelServiceProvider - State store created for service 
[provider=uri:bpel, service=helloWorld.
BpelService, uuid=SYS-h1iou2qna9vlkt9eeur4tp-helloWorld.BpelService]
[INFO] DomainNodeImpl - System "HelloWorldSU" deployed.
[INFO] DomainNodeImpl - System "HelloWorldSU" loaded.
[INFO] DeploymentService - Deployed ServiceUnit HelloWorldSU to 
Component: PxeBpelEngine
[INFO] ServiceProviderBackend - Activating service "helloWorld.BpelService".
[INFO] ServiceProviderBackend - Activating service "HelloService".
[INFO] ComponentContextImpl - Component: PxeBpelEngine activated 
endpoint: {uri:fivesight.com/exampl
es/HelloWorldJBI}HelloService : HelloPort
[WARN] EndpointRegistry - Error retrieving interfaces from service 
description: WSDLException (at /w
sdl:definitions/wsdl:message/wsdl:part): faultCode=UNBOUND_PREFIX: 
Unable to determine namespace of
'xsd:string'.
[INFO] DeploymentService - Started Service Assembly: HelloWorldSA
[INFO] AutoDeploymentService - Directory: deploy: Finished installation 
of archive:  HelloWorld-sa.j
ar
[INFO] DeliveryChannel - default destination serviceName for 
httpReceiver = {uri:fivesight.com/examp
les/HelloWorldJBI}HelloService
[INFO] DeliveryChannel - default destination operationName for 
httpReceiver = {http://xbean.org/sche
mas/spring/1.0}hello
[INFO] DeliveryChannel - default destination endpointName for 
httpReceiver = HelloPort
[INFO] DeliveryChannel - Set default destination endpoint for 
httpReceiver to ServiceEndpoint[servic
e: {uri:fivesight.com/examples/HelloWorldJBI}HelloService; endpoint: 
HelloPort]
23-dec-2005 14:23:18 com.fs.pxe.jbi.bridge.JbiToPxeBridge inRequest
SEVERE: Unable to convert JBI input message to PXE input message:
com.fs.pxe.jbi.bridge.MessageTranslationException: Non-element part not 
supported!
        at com.fs.pxe.jbi.bridge.Bridge.convertMessage(Bridge.java:129)
        at 
com.fs.pxe.jbi.bridge.JbiToPxeBridge.inRequest(JbiToPxeBridge.java:147)
        at 
com.fs.pxe.jbi.bridge.JbiToPxeBridge.onJbiMessageExchange(JbiToPxeBridge.java:114)
        at 
com.fs.pxe.jbi.bridge.ServiceImpl.onJbiMessageExchange(ServiceImpl.java:84)
        at 
com.fs.pxe.jbi.bridge.JbiBridgeServiceProvider.onJbiMessageExchange(JbiBridgeServiceProvi
der.java:103)
        at 
com.fs.pxe.jbi.bridge.JbiMessageExchangeProcessor.run(JbiMessageExchangeProcessor.java:21
)
        at 
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.j
ava:431)
        at 
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPo
olExecutor.java:643)
        at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx
ecutor.java:668)
        at java.lang.Thread.run(Thread.java:595)

I can't figure out in what form i have to send the soap message so that 
the "HelloWorld" bpel process would accept it.
Is there a specific format needed for sending a message to the 
pxe-engine?  And why has the soap-message included with
BPEL example no soap envelope?

When I try the "AsyncProcess" example and post the soap included with 
the BPEL example all works fine.
But when I change the AllOrders tag  in the soap message  I get an 
identical "MessageTranslationException".
Is it normal that servicemix crashes when the sent message is not the 
expected one?
 .. or  am i doing something wrong?
 
Any help is welcome!
Regards,
Kristof
 



Re: Problem sending soap to pxe

Posted by Guillaume Nodet <gu...@worldonline.fr>.
I think all these exceptions are thrown by PXE JBI component because the 
xml content
of the message you send is not the one expected.
However, this component is developped / maintained by the PXE team, and 
i can
not give you more informations : you should really ask on their mailing 
list.

Cheers,
Guillaume Nodet

Athene 154 wrote:

> Even when I remove the soap envelope I get the " Unable to convert JBI 
> input message to PXE input message:
> com.fs.pxe.jbi.bridge.MessageTranslationException: Non-element part 
> not supported!" exception.
>
> Soap message:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <hello xmlns="http://pxe/bpel/unit-test.wsdl">
>   <TestPart>Hello</TestPart>
> </hello>
>
> What does this exception mean?
> Would the exception be caused by the format of the SOAP or by a 
> mistake in the deployment of the HelloWorld process?
>
> When I deploy the AsyncProcess example bpel process included with 
> servicemix and send another soap message then the one included,  for 
> example change the <AllOrders> tag in an <Orders> tag, I get an " 
> Unable to convert JBI input message to PXE input message: 
> com.fs.pxe.jbi.bridge.MessageTranslationException: Invalid part format 
> for part "payload"! " exception.
> Do I get the exception in this case because the AsyncProcess doesn't 
> expect a message with an <Orders> tag instead of an <AllOrders> tag?
>
> Kristof
>
> ----- Original Message ----- From: "Guillaume Nodet" 
> <gu...@worldonline.fr>
> To: <se...@geronimo.apache.org>
> Sent: Monday, December 26, 2005 11:11 AM
> Subject: Re: Problem sending soap to pxe
>
>
>> Hi !
>>
>> When integrated within ServiceMix, PXE does not handle soap messages, 
>> but plain xml messages.
>> So you should try to either:
>>  * remove the soap envelope from your http post
>>  * change the HttpConnector to the HttpSoapConnector (not available 
>> in 2.0.2, but in svn head)
>>     so that it removes the soap envelope (and add it back for the 
>> answer)
>>
>> Cheers,
>> Guillaume Nodet
>>
>> Kristof wrote:
>>
>>> Hi,
>>>
>>> Using Servicemix 2.0.2 in Windows XP, I'm trying to run the 
>>> "HelloWorld" BPEL example from fivesight PXE with the PXE engine 
>>> included with Servicemix. Analog to the "AsyncProcess" i made a 
>>> service unit in a service assembly and placed it into the deploy 
>>> directory of the BPEL example.
>>>
>>> The pxe-system.xml included with the HelloWorldSU  looks like this:
>>>
>>>  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
>>> - <#> <system-descriptor name="*HelloWorldSU*" 
>>> xmlns:xsi="*http://www.w3.org/2001/XMLSchema-instance*" 
>>> xsi:schemaLocation="*http://www.fivesight.com/pxe/system-descriptor/ 
>>> http://www.fivesight.com/pxe/system-descriptor/*" 
>>> xmlns:hw="*http://pxe/bpel/unit-test.wsdl*" 
>>> xmlns="*http://www.fivesight.com/pxe/system-descriptor/*" 
>>> wsdlUri="*urn:/HelloWorld.wsdl*">
>>> - <#> <channels>
>>>  <channel name="*channel1*" />
>>>  </channels>
>>> - <#> <services>
>>> - <#> <service name="*HelloService*" provider="*uri:jbi*">
>>> - <#> <properties>
>>>  <property name="*namespace*" 
>>> value="*uri:fivesight.com/examples/HelloWorldJBI*" />
>>>  </properties>
>>> - <#> <imports>
>>>  <port name="*HelloPort*" type="*hw:HelloPortType*" 
>>> channel-ref="*channel1*" />
>>>  </imports>
>>>  </service>
>>> - <#> <service name="*helloWorld.BpelService*" provider="*uri:bpel*">
>>> - <#> <properties>
>>>  <property name="*compiledProcess*" value="*HelloWorld.cbp*" />
>>>  </properties>
>>> - <#> <exports>
>>>  <port name="*helloPartnerLink.me*" type="*hw:HelloPortType*" 
>>> channel-ref="*channel1*" />
>>>  </exports>
>>>  </service>
>>>  </services>
>>>  </system-descriptor>
>>>
>>> I'm trying to send a soap message through a HttpListener to the BPEL 
>>> process.  The code fragment  in servicemix.xml  looks like this:
>>>
>>> <!-- Create a http server binding on port 8912 --> 
>>> <sm:activationSpec componentName="httpReceiver" 
>>> service="foo:httpBinding"
>>>              endpoint="httpReceiver"
>>>              destinationService="pxe:HelloService"
>>>              destinationEndpoint="HelloPort" 
>>> destinationOperation="hello">
>>>                       <sm:component>
>>>                          <bean 
>>> xmlns="http://xbean.org/schemas/spring/1.0"
>>>
>>> class="org.servicemix.components.http.HttpConnector">
>>>                                     <property name="host" 
>>> value="localhost"/>
>>>                                     <property name="port" 
>>> value="8912"/>
>>>                          </bean>
>>>                        </sm:component>
>>>    </sm:activationSpec>
>>>
>>> The soap message :
>>>
>>> <SOAP-ENV:Envelope 
>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
>>>  <!-- test soap message -->
>>>  <SOAP-ENV:Body>
>>>    <ns1:hello xmlns:ns1="http://pxe/bpel/unit-test.wsdl">
>>>        <TestPart xmlns="">Test01</TestPart>
>>>    </ns1:hello>
>>>  </SOAP-ENV:Body>
>>> </SOAP-ENV:Envelope>
>>>
>>> When posting this message to the HTTPListener i get  the following 
>>> MessageTranslationException:
>>>
>>> [INFO] DeploymentService - HelloWorldSA Moving 
>>> C:\servicemix-2.0.2\examples\bpel\.\wdir\defaultJBI\t
>>> mp\HelloWorld-sa.1.tmp to 
>>> C:\servicemix-2.0.2\examples\bpel\.\wdir\defaultJBI\service-assemblies\Hel 
>>>
>>> loWorldSA
>>> [INFO] DeploymentService - deployServiceUnit: unpack archive 
>>> C:\servicemix-2.0.2\examples\bpel\.\wdi
>>> r\defaultJBI\service-assemblies\HelloWorldSA\HelloWorld-su.zip to 
>>> C:\servicemix-2.0.2\examples\bpel\
>>> .\wdir\defaultJBI\components\PxeBpelEngine\serviceunit\HelloWorldSU
>>> [INFO] DomainNodeImpl - Deploying system "HelloWorldSU".
>>> [INFO] DomainNodeImpl - Deploying service "HelloService" on "uri:jbi".
>>> [INFO] ServiceProviderBackend - Deploying service "HelloService".
>>> [INFO] DomainNodeImpl - Deploying service "helloWorld.BpelService" 
>>> on "uri:bpel".
>>> [INFO] ServiceProviderBackend - Deploying service 
>>> "helloWorld.BpelService".
>>> [INFO] BpelServiceProvider - State store created for service 
>>> [provider=uri:bpel, service=helloWorld.
>>> BpelService, uuid=SYS-h1iou2qna9vlkt9eeur4tp-helloWorld.BpelService]
>>> [INFO] DomainNodeImpl - System "HelloWorldSU" deployed.
>>> [INFO] DomainNodeImpl - System "HelloWorldSU" loaded.
>>> [INFO] DeploymentService - Deployed ServiceUnit HelloWorldSU to 
>>> Component: PxeBpelEngine
>>> [INFO] ServiceProviderBackend - Activating service 
>>> "helloWorld.BpelService".
>>> [INFO] ServiceProviderBackend - Activating service "HelloService".
>>> [INFO] ComponentContextImpl - Component: PxeBpelEngine activated 
>>> endpoint: {uri:fivesight.com/exampl
>>> es/HelloWorldJBI}HelloService : HelloPort
>>> [WARN] EndpointRegistry - Error retrieving interfaces from service 
>>> description: WSDLException (at /w
>>> sdl:definitions/wsdl:message/wsdl:part): faultCode=UNBOUND_PREFIX: 
>>> Unable to determine namespace of
>>> 'xsd:string'.
>>> [INFO] DeploymentService - Started Service Assembly: HelloWorldSA
>>> [INFO] AutoDeploymentService - Directory: deploy: Finished 
>>> installation of archive:  HelloWorld-sa.j
>>> ar
>>> [INFO] DeliveryChannel - default destination serviceName for 
>>> httpReceiver = {uri:fivesight.com/examp
>>> les/HelloWorldJBI}HelloService
>>> [INFO] DeliveryChannel - default destination operationName for 
>>> httpReceiver = {http://xbean.org/sche
>>> mas/spring/1.0}hello
>>> [INFO] DeliveryChannel - default destination endpointName for 
>>> httpReceiver = HelloPort
>>> [INFO] DeliveryChannel - Set default destination endpoint for 
>>> httpReceiver to ServiceEndpoint[servic
>>> e: {uri:fivesight.com/examples/HelloWorldJBI}HelloService; endpoint: 
>>> HelloPort]
>>> 23-dec-2005 14:23:18 com.fs.pxe.jbi.bridge.JbiToPxeBridge inRequest
>>> SEVERE: Unable to convert JBI input message to PXE input message:
>>> com.fs.pxe.jbi.bridge.MessageTranslationException: Non-element part 
>>> not supported!
>>>        at com.fs.pxe.jbi.bridge.Bridge.convertMessage(Bridge.java:129)
>>>        at 
>>> com.fs.pxe.jbi.bridge.JbiToPxeBridge.inRequest(JbiToPxeBridge.java:147)
>>>        at 
>>> com.fs.pxe.jbi.bridge.JbiToPxeBridge.onJbiMessageExchange(JbiToPxeBridge.java:114) 
>>>
>>>        at 
>>> com.fs.pxe.jbi.bridge.ServiceImpl.onJbiMessageExchange(ServiceImpl.java:84) 
>>>
>>>        at 
>>> com.fs.pxe.jbi.bridge.JbiBridgeServiceProvider.onJbiMessageExchange(JbiBridgeServiceProvi 
>>>
>>> der.java:103)
>>>        at 
>>> com.fs.pxe.jbi.bridge.JbiMessageExchangeProcessor.run(JbiMessageExchangeProcessor.java:21 
>>>
>>> )
>>>        at 
>>> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.j 
>>>
>>> ava:431)
>>>        at 
>>> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:166) 
>>>
>>>        at 
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPo 
>>>
>>> olExecutor.java:643)
>>>        at 
>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx 
>>>
>>> ecutor.java:668)
>>>        at java.lang.Thread.run(Thread.java:595)
>>>
>>> I can't figure out in what form i have to send the soap message so 
>>> that the "HelloWorld" bpel process would accept it.
>>> Is there a specific format needed for sending a message to the 
>>> pxe-engine?  And why has the soap-message included with
>>> BPEL example no soap envelope?
>>>
>>> When I try the "AsyncProcess" example and post the soap included 
>>> with the BPEL example all works fine.
>>> But when I change the AllOrders tag  in the soap message  I get an 
>>> identical "MessageTranslationException".
>>> Is it normal that servicemix crashes when the sent message is not 
>>> the expected one?
>>> .. or  am i doing something wrong?
>>>
>>> Any help is welcome!
>>> Regards,
>>> Kristof
>>>
>>>
>>>
>>>
>>>
>>
>
>
>


Re: Problem sending soap to pxe

Posted by Athene 154 <at...@gmail.com>.
Even when I remove the soap envelope I get the " Unable to convert JBI input 
message to PXE input message:
com.fs.pxe.jbi.bridge.MessageTranslationException: Non-element part not 
supported!" exception.

Soap message:

<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="http://pxe/bpel/unit-test.wsdl">
   <TestPart>Hello</TestPart>
</hello>

What does this exception mean?
Would the exception be caused by the format of the SOAP or by a mistake in 
the deployment of the HelloWorld process?

When I deploy the AsyncProcess example bpel process included with servicemix 
and send another soap message then the one included,  for example change the 
<AllOrders> tag in an <Orders> tag, I get an " Unable to convert JBI input 
message to PXE input message: 
com.fs.pxe.jbi.bridge.MessageTranslationException: Invalid part format for 
part "payload"! " exception.
Do I get the exception in this case because the AsyncProcess doesn't expect 
a message with an <Orders> tag instead of an <AllOrders> tag?

Kristof

----- Original Message ----- 
From: "Guillaume Nodet" <gu...@worldonline.fr>
To: <se...@geronimo.apache.org>
Sent: Monday, December 26, 2005 11:11 AM
Subject: Re: Problem sending soap to pxe


> Hi !
>
> When integrated within ServiceMix, PXE does not handle soap messages, but 
> plain xml messages.
> So you should try to either:
>  * remove the soap envelope from your http post
>  * change the HttpConnector to the HttpSoapConnector (not available in 
> 2.0.2, but in svn head)
>     so that it removes the soap envelope (and add it back for the answer)
>
> Cheers,
> Guillaume Nodet
>
> Kristof wrote:
>
>> Hi,
>>
>> Using Servicemix 2.0.2 in Windows XP, I'm trying to run the "HelloWorld" 
>> BPEL example from fivesight PXE with the PXE engine included with 
>> Servicemix. Analog to the "AsyncProcess" i made a service unit in a 
>> service assembly and placed it into the deploy directory of the BPEL 
>> example.
>>
>> The pxe-system.xml included with the HelloWorldSU  looks like this:
>>
>>  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
>> - <#> <system-descriptor name="*HelloWorldSU*" 
>> xmlns:xsi="*http://www.w3.org/2001/XMLSchema-instance*" 
>> xsi:schemaLocation="*http://www.fivesight.com/pxe/system-descriptor/ 
>> http://www.fivesight.com/pxe/system-descriptor/*" 
>> xmlns:hw="*http://pxe/bpel/unit-test.wsdl*" 
>> xmlns="*http://www.fivesight.com/pxe/system-descriptor/*" 
>> wsdlUri="*urn:/HelloWorld.wsdl*">
>> - <#> <channels>
>>  <channel name="*channel1*" />
>>  </channels>
>> - <#> <services>
>> - <#> <service name="*HelloService*" provider="*uri:jbi*">
>> - <#> <properties>
>>  <property name="*namespace*" 
>> value="*uri:fivesight.com/examples/HelloWorldJBI*" />
>>  </properties>
>> - <#> <imports>
>>  <port name="*HelloPort*" type="*hw:HelloPortType*" 
>> channel-ref="*channel1*" />
>>  </imports>
>>  </service>
>> - <#> <service name="*helloWorld.BpelService*" provider="*uri:bpel*">
>> - <#> <properties>
>>  <property name="*compiledProcess*" value="*HelloWorld.cbp*" />
>>  </properties>
>> - <#> <exports>
>>  <port name="*helloPartnerLink.me*" type="*hw:HelloPortType*" 
>> channel-ref="*channel1*" />
>>  </exports>
>>  </service>
>>  </services>
>>  </system-descriptor>
>>
>> I'm trying to send a soap message through a HttpListener to the BPEL 
>> process.  The code fragment  in servicemix.xml  looks like this:
>>
>> <!-- Create a http server binding on port 8912 --> 
>> <sm:activationSpec componentName="httpReceiver" 
>> service="foo:httpBinding"
>>              endpoint="httpReceiver"
>>              destinationService="pxe:HelloService"
>>              destinationEndpoint="HelloPort" 
>> destinationOperation="hello">
>>                       <sm:component>
>>                          <bean 
>> xmlns="http://xbean.org/schemas/spring/1.0"
>> 
>> class="org.servicemix.components.http.HttpConnector">
>>                                     <property name="host" 
>> value="localhost"/>
>>                                     <property name="port" value="8912"/>
>>                          </bean>
>>                        </sm:component>
>>    </sm:activationSpec>
>>
>> The soap message :
>>
>> <SOAP-ENV:Envelope 
>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
>>  <!-- test soap message -->
>>  <SOAP-ENV:Body>
>>    <ns1:hello xmlns:ns1="http://pxe/bpel/unit-test.wsdl">
>>        <TestPart xmlns="">Test01</TestPart>
>>    </ns1:hello>
>>  </SOAP-ENV:Body>
>> </SOAP-ENV:Envelope>
>>
>> When posting this message to the HTTPListener i get  the following 
>> MessageTranslationException:
>>
>> [INFO] DeploymentService - HelloWorldSA Moving 
>> C:\servicemix-2.0.2\examples\bpel\.\wdir\defaultJBI\t
>> mp\HelloWorld-sa.1.tmp to 
>> C:\servicemix-2.0.2\examples\bpel\.\wdir\defaultJBI\service-assemblies\Hel
>> loWorldSA
>> [INFO] DeploymentService - deployServiceUnit: unpack archive 
>> C:\servicemix-2.0.2\examples\bpel\.\wdi
>> r\defaultJBI\service-assemblies\HelloWorldSA\HelloWorld-su.zip to 
>> C:\servicemix-2.0.2\examples\bpel\
>> .\wdir\defaultJBI\components\PxeBpelEngine\serviceunit\HelloWorldSU
>> [INFO] DomainNodeImpl - Deploying system "HelloWorldSU".
>> [INFO] DomainNodeImpl - Deploying service "HelloService" on "uri:jbi".
>> [INFO] ServiceProviderBackend - Deploying service "HelloService".
>> [INFO] DomainNodeImpl - Deploying service "helloWorld.BpelService" on 
>> "uri:bpel".
>> [INFO] ServiceProviderBackend - Deploying service 
>> "helloWorld.BpelService".
>> [INFO] BpelServiceProvider - State store created for service 
>> [provider=uri:bpel, service=helloWorld.
>> BpelService, uuid=SYS-h1iou2qna9vlkt9eeur4tp-helloWorld.BpelService]
>> [INFO] DomainNodeImpl - System "HelloWorldSU" deployed.
>> [INFO] DomainNodeImpl - System "HelloWorldSU" loaded.
>> [INFO] DeploymentService - Deployed ServiceUnit HelloWorldSU to 
>> Component: PxeBpelEngine
>> [INFO] ServiceProviderBackend - Activating service 
>> "helloWorld.BpelService".
>> [INFO] ServiceProviderBackend - Activating service "HelloService".
>> [INFO] ComponentContextImpl - Component: PxeBpelEngine activated 
>> endpoint: {uri:fivesight.com/exampl
>> es/HelloWorldJBI}HelloService : HelloPort
>> [WARN] EndpointRegistry - Error retrieving interfaces from service 
>> description: WSDLException (at /w
>> sdl:definitions/wsdl:message/wsdl:part): faultCode=UNBOUND_PREFIX: Unable 
>> to determine namespace of
>> 'xsd:string'.
>> [INFO] DeploymentService - Started Service Assembly: HelloWorldSA
>> [INFO] AutoDeploymentService - Directory: deploy: Finished installation 
>> of archive:  HelloWorld-sa.j
>> ar
>> [INFO] DeliveryChannel - default destination serviceName for httpReceiver 
>> = {uri:fivesight.com/examp
>> les/HelloWorldJBI}HelloService
>> [INFO] DeliveryChannel - default destination operationName for 
>> httpReceiver = {http://xbean.org/sche
>> mas/spring/1.0}hello
>> [INFO] DeliveryChannel - default destination endpointName for 
>> httpReceiver = HelloPort
>> [INFO] DeliveryChannel - Set default destination endpoint for 
>> httpReceiver to ServiceEndpoint[servic
>> e: {uri:fivesight.com/examples/HelloWorldJBI}HelloService; endpoint: 
>> HelloPort]
>> 23-dec-2005 14:23:18 com.fs.pxe.jbi.bridge.JbiToPxeBridge inRequest
>> SEVERE: Unable to convert JBI input message to PXE input message:
>> com.fs.pxe.jbi.bridge.MessageTranslationException: Non-element part not 
>> supported!
>>        at com.fs.pxe.jbi.bridge.Bridge.convertMessage(Bridge.java:129)
>>        at 
>> com.fs.pxe.jbi.bridge.JbiToPxeBridge.inRequest(JbiToPxeBridge.java:147)
>>        at 
>> com.fs.pxe.jbi.bridge.JbiToPxeBridge.onJbiMessageExchange(JbiToPxeBridge.java:114)
>>        at 
>> com.fs.pxe.jbi.bridge.ServiceImpl.onJbiMessageExchange(ServiceImpl.java:84)
>>        at 
>> com.fs.pxe.jbi.bridge.JbiBridgeServiceProvider.onJbiMessageExchange(JbiBridgeServiceProvi
>> der.java:103)
>>        at 
>> com.fs.pxe.jbi.bridge.JbiMessageExchangeProcessor.run(JbiMessageExchangeProcessor.java:21
>> )
>>        at 
>> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.j
>> ava:431)
>>        at 
>> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:166)
>>        at 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPo
>> olExecutor.java:643)
>>        at 
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx
>> ecutor.java:668)
>>        at java.lang.Thread.run(Thread.java:595)
>>
>> I can't figure out in what form i have to send the soap message so that 
>> the "HelloWorld" bpel process would accept it.
>> Is there a specific format needed for sending a message to the 
>> pxe-engine?  And why has the soap-message included with
>> BPEL example no soap envelope?
>>
>> When I try the "AsyncProcess" example and post the soap included with the 
>> BPEL example all works fine.
>> But when I change the AllOrders tag  in the soap message  I get an 
>> identical "MessageTranslationException".
>> Is it normal that servicemix crashes when the sent message is not the 
>> expected one?
>> .. or  am i doing something wrong?
>>
>> Any help is welcome!
>> Regards,
>> Kristof
>>
>>
>>
>>
>>
> 


Re: Problem sending soap to pxe

Posted by Guillaume Nodet <gu...@worldonline.fr>.
Hi !

When integrated within ServiceMix, PXE does not handle soap messages, 
but plain xml messages.
So you should try to either:
  * remove the soap envelope from your http post
  * change the HttpConnector to the HttpSoapConnector (not available in 
2.0.2, but in svn head)
     so that it removes the soap envelope (and add it back for the answer)

Cheers,
Guillaume Nodet

Kristof wrote:

> Hi,
>
> Using Servicemix 2.0.2 in Windows XP, I'm trying to run the 
> "HelloWorld" BPEL example from fivesight PXE with the PXE engine 
> included with Servicemix. Analog to the "AsyncProcess" i made a 
> service unit in a service assembly and placed it into the deploy 
> directory of the BPEL example.
>
> The pxe-system.xml included with the HelloWorldSU  looks like this:
>
>  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
> - <#> <system-descriptor name="*HelloWorldSU*" 
> xmlns:xsi="*http://www.w3.org/2001/XMLSchema-instance*" 
> xsi:schemaLocation="*http://www.fivesight.com/pxe/system-descriptor/ 
> http://www.fivesight.com/pxe/system-descriptor/*" 
> xmlns:hw="*http://pxe/bpel/unit-test.wsdl*" 
> xmlns="*http://www.fivesight.com/pxe/system-descriptor/*" 
> wsdlUri="*urn:/HelloWorld.wsdl*">
> - <#> <channels>
>  <channel name="*channel1*" />
>  </channels>
> - <#> <services>
> - <#> <service name="*HelloService*" provider="*uri:jbi*">
> - <#> <properties>
>  <property name="*namespace*" 
> value="*uri:fivesight.com/examples/HelloWorldJBI*" />
>  </properties>
> - <#> <imports>
>  <port name="*HelloPort*" type="*hw:HelloPortType*" 
> channel-ref="*channel1*" />
>  </imports>
>  </service>
> - <#> <service name="*helloWorld.BpelService*" provider="*uri:bpel*">
> - <#> <properties>
>  <property name="*compiledProcess*" value="*HelloWorld.cbp*" />
>  </properties>
> - <#> <exports>
>  <port name="*helloPartnerLink.me*" type="*hw:HelloPortType*" 
> channel-ref="*channel1*" />
>  </exports>
>  </service>
>  </services>
>  </system-descriptor>
>
> I'm trying to send a soap message through a HttpListener to the BPEL 
> process.  The code fragment  in servicemix.xml  looks like this:
>
> <!-- Create a http server binding on port 8912 -->      
> <sm:activationSpec componentName="httpReceiver"                 
> service="foo:httpBinding"
>              endpoint="httpReceiver"
>              destinationService="pxe:HelloService"
>              destinationEndpoint="HelloPort" 
> destinationOperation="hello">
>                       <sm:component>
>                          <bean 
> xmlns="http://xbean.org/schemas/spring/1.0"
>                                
> class="org.servicemix.components.http.HttpConnector">
>                                     <property name="host" 
> value="localhost"/>
>                                     <property name="port" value="8912"/>
>                          </bean>
>                        </sm:component>
>    </sm:activationSpec>
>
> The soap message :
>
> <SOAP-ENV:Envelope 
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
>  <!-- test soap message -->
>  <SOAP-ENV:Body>
>    <ns1:hello xmlns:ns1="http://pxe/bpel/unit-test.wsdl">
>        <TestPart xmlns="">Test01</TestPart>
>    </ns1:hello>
>  </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> When posting this message to the HTTPListener i get  the following 
> MessageTranslationException:
>
> [INFO] DeploymentService - HelloWorldSA Moving 
> C:\servicemix-2.0.2\examples\bpel\.\wdir\defaultJBI\t
> mp\HelloWorld-sa.1.tmp to 
> C:\servicemix-2.0.2\examples\bpel\.\wdir\defaultJBI\service-assemblies\Hel 
>
> loWorldSA
> [INFO] DeploymentService - deployServiceUnit: unpack archive 
> C:\servicemix-2.0.2\examples\bpel\.\wdi
> r\defaultJBI\service-assemblies\HelloWorldSA\HelloWorld-su.zip to 
> C:\servicemix-2.0.2\examples\bpel\
> .\wdir\defaultJBI\components\PxeBpelEngine\serviceunit\HelloWorldSU
> [INFO] DomainNodeImpl - Deploying system "HelloWorldSU".
> [INFO] DomainNodeImpl - Deploying service "HelloService" on "uri:jbi".
> [INFO] ServiceProviderBackend - Deploying service "HelloService".
> [INFO] DomainNodeImpl - Deploying service "helloWorld.BpelService" on 
> "uri:bpel".
> [INFO] ServiceProviderBackend - Deploying service 
> "helloWorld.BpelService".
> [INFO] BpelServiceProvider - State store created for service 
> [provider=uri:bpel, service=helloWorld.
> BpelService, uuid=SYS-h1iou2qna9vlkt9eeur4tp-helloWorld.BpelService]
> [INFO] DomainNodeImpl - System "HelloWorldSU" deployed.
> [INFO] DomainNodeImpl - System "HelloWorldSU" loaded.
> [INFO] DeploymentService - Deployed ServiceUnit HelloWorldSU to 
> Component: PxeBpelEngine
> [INFO] ServiceProviderBackend - Activating service 
> "helloWorld.BpelService".
> [INFO] ServiceProviderBackend - Activating service "HelloService".
> [INFO] ComponentContextImpl - Component: PxeBpelEngine activated 
> endpoint: {uri:fivesight.com/exampl
> es/HelloWorldJBI}HelloService : HelloPort
> [WARN] EndpointRegistry - Error retrieving interfaces from service 
> description: WSDLException (at /w
> sdl:definitions/wsdl:message/wsdl:part): faultCode=UNBOUND_PREFIX: 
> Unable to determine namespace of
> 'xsd:string'.
> [INFO] DeploymentService - Started Service Assembly: HelloWorldSA
> [INFO] AutoDeploymentService - Directory: deploy: Finished 
> installation of archive:  HelloWorld-sa.j
> ar
> [INFO] DeliveryChannel - default destination serviceName for 
> httpReceiver = {uri:fivesight.com/examp
> les/HelloWorldJBI}HelloService
> [INFO] DeliveryChannel - default destination operationName for 
> httpReceiver = {http://xbean.org/sche
> mas/spring/1.0}hello
> [INFO] DeliveryChannel - default destination endpointName for 
> httpReceiver = HelloPort
> [INFO] DeliveryChannel - Set default destination endpoint for 
> httpReceiver to ServiceEndpoint[servic
> e: {uri:fivesight.com/examples/HelloWorldJBI}HelloService; endpoint: 
> HelloPort]
> 23-dec-2005 14:23:18 com.fs.pxe.jbi.bridge.JbiToPxeBridge inRequest
> SEVERE: Unable to convert JBI input message to PXE input message:
> com.fs.pxe.jbi.bridge.MessageTranslationException: Non-element part 
> not supported!
>        at com.fs.pxe.jbi.bridge.Bridge.convertMessage(Bridge.java:129)
>        at 
> com.fs.pxe.jbi.bridge.JbiToPxeBridge.inRequest(JbiToPxeBridge.java:147)
>        at 
> com.fs.pxe.jbi.bridge.JbiToPxeBridge.onJbiMessageExchange(JbiToPxeBridge.java:114) 
>
>        at 
> com.fs.pxe.jbi.bridge.ServiceImpl.onJbiMessageExchange(ServiceImpl.java:84) 
>
>        at 
> com.fs.pxe.jbi.bridge.JbiBridgeServiceProvider.onJbiMessageExchange(JbiBridgeServiceProvi 
>
> der.java:103)
>        at 
> com.fs.pxe.jbi.bridge.JbiMessageExchangeProcessor.run(JbiMessageExchangeProcessor.java:21 
>
> )
>        at 
> edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.j 
>
> ava:431)
>        at 
> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:166) 
>
>        at 
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPo 
>
> olExecutor.java:643)
>        at 
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx 
>
> ecutor.java:668)
>        at java.lang.Thread.run(Thread.java:595)
>
> I can't figure out in what form i have to send the soap message so 
> that the "HelloWorld" bpel process would accept it.
> Is there a specific format needed for sending a message to the 
> pxe-engine?  And why has the soap-message included with
> BPEL example no soap envelope?
>
> When I try the "AsyncProcess" example and post the soap included with 
> the BPEL example all works fine.
> But when I change the AllOrders tag  in the soap message  I get an 
> identical "MessageTranslationException".
> Is it normal that servicemix crashes when the sent message is not the 
> expected one?
> .. or  am i doing something wrong?
>
> Any help is welcome!
> Regards,
> Kristof
>
>
>
>
>