You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by "Quinlan, Daire (Daire)" <dq...@avaya.com> on 2006/03/10 17:35:37 UTC

SOAP v 1.1 / 1.2

Hi All,

I've been occupied for the last while getting a JSR-181 component to
talk to PXE on the bus. At the moment we have it working by exposing a
HTTP endpoint for the JSR-181 component and using the
protocoladapter.soap provider in the conventional fashion to fire off
soap messages from PXE to the component. Ideally we want a pure JBI
solution which is what we're looking at at the moment so there may be a
few more questions over the next while ...

The current issue I have though is with the servicemix-http binding
component which is what we're using to expose the endpoint on the
component. An initial difficulty we had was that it was marshalling SOAP
1.2 messages despite all our efforts to the contrary. Digging into the
code I discovered that the 1.2 namespace seemed to be hardcoded into the
SoapMarshaller source. This is a problem specifically for PXE, which
cannot accept anything other than 1.1 SOAP messages. Quick fix was to
change the source and recompile up the jar and use it, but is there a
way to actually configure this on the fly ? If so, any details as to how
to do it ?

jbi.xml for the service assembly ...

<?xml version="1.0" encoding="UTF-8"?>
<jbi xmlns="http://java.sun.com/xml/ns/jbi" version="1.0">
     
   <service-assembly>
     <identification>
       <name>demo</name>
       <description>demo</description>
     </identification>
     <service-unit>
       <identification>
         <name>engine-su</name>
         <description>Contains the service</description>
       </identification>
       <target>
         <artifacts-zip>engine-su.zip</artifacts-zip>
         <component-name>servicemix-jsr181</component-name>
       </target>
     </service-unit>
     <service-unit>
       <identification>
         <name>binding-su</name>
         <description>Contains the binding</description>
       </identification>
       <target>
         <artifacts-zip>binding-su.zip</artifacts-zip>
         <component-name>servicemix-http</component-name>
       </target>
     </service-unit>
    </service-assembly>
</jbi>

and the xbean.xml for the binding component:

<?xml version="1.0"?>
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
       xmlns:av="http://some.namespace">

    <http:endpoint service="av:some-service"
                         endpoint="some-service"
                   role="consumer"
                   locationURI="http://localhost:8192/Service/"
                   defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
                    soap="true" />

</beans>

Service-Mix integration with Sun Application Server

Posted by Yuanhui Zhao <yz...@qoslabs.com>.
Hi,

Did anybody successfully integrated Service-Mix with Sun Application Server?

Thanks.


Re: SOAP v 1.1 / 1.2

Posted by Guillaume Nodet <gn...@gmail.com>.
This is now fixed.
See http://jira.activemq.org/jira/browse/SM-348.
Just add the xml attribute
   soapVersion="1.1"
to the http consumer endpoint.

Cheers,
Guillaume Nodet

On 3/11/06, Guillaume Nodet <gn...@gmail.com> wrote:
>
> Please raise a JIRA, i will do it asap.
> I think adding a soapVersion attribute on the endpoint should be easy to
> do...
>
> Cheers,
> Guillaume Nodet
>
>
> On 3/10/06, Quinlan, Daire (Daire) <dq...@avaya.com> wrote:
> >
> >
> > Hi All,
> >
> > I've been occupied for the last while getting a JSR-181 component to
> > talk to PXE on the bus. At the moment we have it working by exposing a
> > HTTP endpoint for the JSR-181 component and using the
> > protocoladapter.soap provider in the conventional fashion to fire off
> > soap messages from PXE to the component. Ideally we want a pure JBI
> > solution which is what we're looking at at the moment so there may be a
> > few more questions over the next while ...
> >
> > The current issue I have though is with the servicemix-http binding
> > component which is what we're using to expose the endpoint on the
> > component. An initial difficulty we had was that it was marshalling SOAP
> > 1.2 messages despite all our efforts to the contrary. Digging into the
> > code I discovered that the 1.2 namespace seemed to be hardcoded into the
> > SoapMarshaller source. This is a problem specifically for PXE, which
> > cannot accept anything other than 1.1 SOAP messages. Quick fix was to
> > change the source and recompile up the jar and use it, but is there a
> > way to actually configure this on the fly ? If so, any details as to how
> > to do it ?
> >
> > jbi.xml for the service assembly ...
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <jbi xmlns="http://java.sun.com/xml/ns/jbi " version="1.0">
> >
> >    <service-assembly>
> >      <identification>
> >        <name>demo</name>
> >        <description>demo</description>
> >      </identification>
> >      <service-unit>
> >        <identification>
> >          <name>engine-su</name>
> >          <description>Contains the service</description>
> >        </identification>
> >        <target>
> >          <artifacts-zip>engine-su.zip</artifacts-zip>
> >          <component-name>servicemix-jsr181</component-name>
> >        </target>
> >      </service-unit>
> >      <service-unit>
> >        <identification>
> >          <name>binding-su</name>
> >          <description>Contains the binding</description>
> >        </identification>
> >        <target>
> >          <artifacts-zip> binding-su.zip</artifacts-zip>
> >          <component-name>servicemix-http</component-name>
> >        </target>
> >      </service-unit>
> >     </service-assembly>
> > </jbi>
> >
> > and the xbean.xml for the binding component:
> >
> > <?xml version="1.0"?>
> > <beans xmlns:http="http://servicemix.apache.org/http/1.0"
> >        xmlns:av=" http://some.namespace">
> >
> >     <http:endpoint service="av:some-service"
> >                          endpoint="some-service"
> >                    role="consumer"
> >                    locationURI="http://localhost:8192/Service/"
> >                    defaultMep="http://www.w3.org/2004/08/wsdl/in-out "
> >                     soap="true" />
> >
> > </beans>
> >
>
>

Re: SOAP v 1.1 / 1.2

Posted by Guillaume Nodet <gn...@gmail.com>.
Please raise a JIRA, i will do it asap.
I think adding a soapVersion attribute on the endpoint should be easy to
do...

Cheers,
Guillaume Nodet

On 3/10/06, Quinlan, Daire (Daire) <dq...@avaya.com> wrote:
>
>
> Hi All,
>
> I've been occupied for the last while getting a JSR-181 component to
> talk to PXE on the bus. At the moment we have it working by exposing a
> HTTP endpoint for the JSR-181 component and using the
> protocoladapter.soap provider in the conventional fashion to fire off
> soap messages from PXE to the component. Ideally we want a pure JBI
> solution which is what we're looking at at the moment so there may be a
> few more questions over the next while ...
>
> The current issue I have though is with the servicemix-http binding
> component which is what we're using to expose the endpoint on the
> component. An initial difficulty we had was that it was marshalling SOAP
> 1.2 messages despite all our efforts to the contrary. Digging into the
> code I discovered that the 1.2 namespace seemed to be hardcoded into the
> SoapMarshaller source. This is a problem specifically for PXE, which
> cannot accept anything other than 1.1 SOAP messages. Quick fix was to
> change the source and recompile up the jar and use it, but is there a
> way to actually configure this on the fly ? If so, any details as to how
> to do it ?
>
> jbi.xml for the service assembly ...
>
> <?xml version="1.0" encoding="UTF-8"?>
> <jbi xmlns="http://java.sun.com/xml/ns/jbi" version="1.0">
>
>    <service-assembly>
>      <identification>
>        <name>demo</name>
>        <description>demo</description>
>      </identification>
>      <service-unit>
>        <identification>
>          <name>engine-su</name>
>          <description>Contains the service</description>
>        </identification>
>        <target>
>          <artifacts-zip>engine-su.zip</artifacts-zip>
>          <component-name>servicemix-jsr181</component-name>
>        </target>
>      </service-unit>
>      <service-unit>
>        <identification>
>          <name>binding-su</name>
>          <description>Contains the binding</description>
>        </identification>
>        <target>
>          <artifacts-zip>binding-su.zip</artifacts-zip>
>          <component-name>servicemix-http</component-name>
>        </target>
>      </service-unit>
>     </service-assembly>
> </jbi>
>
> and the xbean.xml for the binding component:
>
> <?xml version="1.0"?>
> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
>        xmlns:av="http://some.namespace">
>
>     <http:endpoint service="av:some-service"
>                          endpoint="some-service"
>                    role="consumer"
>                    locationURI="http://localhost:8192/Service/"
>                    defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>                     soap="true" />
>
> </beans>
>