There is a problem when i post the "param" tag : it does appear in the forum
post. I edited my previous message and put some spaces : 

<tns:getProtoDTO>
< param>myparam</ param>
</tns:getProtoDTO>

Sorry, i didn't notice it in my first post. I think the misunderstanding
came from that...

Best Regards,
Florent



Florent wrote:
> 
> Ok, i think i understand why you said my soap enveloppe in incorrect.
> 
> Here is the one i'm using (in my first post, i have to admit it wasn't
> correct) : 
> 
> <?xml version=\"1.0\" encoding=\"UTF-8\"?>
> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"; 
> xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"; 
> xmlns:tns=\"http://ejb.proto.sopra.com\";>
> <env:Body>
> <tns:getProtoDTO>
> < param>myparam</ param>
> </tns:getProtoDTO>
> </env:Body>
> </env:Envelope>
> 
> 
> 
> Florent wrote:
>> 
>> 
>> this : 
>> 
>> Standalone client <--> SOAP message <--> Servicemix cxf bc consumer<--->
>> JBI message  <--->Servicemix Cxf bc provider <---> soap message
>> <-->Websphere
>> Application Server
>> 
>> is exactly what i want to be done (and what i'm trying to do) :)
>> 
>> According to your reply, i should use the following soap message :
>> 
>> <?xml version=\"1.0\" encoding=\"UTF-8\"?>
>> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";
>> xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\";
>> xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"; 
>> xmlns:tns=\"http://ejb.proto.sopra.com\";>
>> <env:Body>
>> <tns:getProtoDTO>
>> <date>2007-11-27T10:04:16.347Z</date>
>> <dble>0.0</dble>
>> <integ>1</integ>
>> <liste>
>> <string>s01</string><string>s02</string><string>s03</string>
>> </liste>
>> </tns:getProtoDTO>
>> </env:Body>
>> </env:Envelope>
>> 
>> But, according to my wsdl, this is the response soap message, not the
>> request one !
>> 
>> Operation : 
>> <wsdl:operation name="getProtoDTO">
>>        <wsdlsoap:operation soapAction="getProtoDTO"/>
>>        <wsdl:input name="getProtoDTORequest">
>>          <wsdlsoap:body use="literal"/>
>>       </wsdl:input>
>>        <wsdl:output name="getProtoDTOResponse">
>>          <wsdlsoap:body use="literal"/>
>>       </wsdl:output>
>> </wsdl:operation>
>> 
>> PortType :
>> <wsdl:portType name="ProtoBean">
>>      <wsdl:operation name="getProtoDTO">
>>        <wsdl:input message="intf:getProtoDTORequest"
>> name="getProtoDTORequest"/>
>>        <wsdl:output message="intf:getProtoDTOResponse"
>> name="getProtoDTOResponse"/>
>>     </wsdl:operation>
>> </wsdl:portType>
>> 
>> 
>> Input / request :
>> <wsdl:message name="getProtoDTORequest">
>>      <wsdl:part element="intf:getProtoDTO" name="parameters"/>
>> </wsdl:message>
>> 
>> Element : 
>> <element name="getProtoDTO">
>>     <complexType>
>>      <sequence>
>>       <element name="param" nillable="true" type="xsd:string"/>
>>      </sequence>
>>     </complexType>
>> </element>
>> 
>> Output / response :
>> <wsdl:message name="getProtoDTOResponse">
>>      <wsdl:part element="intf:getProtoDTOResponse" name="parameters"/>
>> </wsdl:message>
>> 
>> Element :
>> <element name="getProtoDTOResponse">
>>     <complexType>
>>      <sequence>
>>       <element name="getProtoDTOReturn" nillable="true"
>> type="tns2:ProtoDTO"/>
>>      </sequence>
>>     </complexType>
>> </element>
>> 
>> So, the output is the ProtoDTO complex type, and the input is a string.
>> 
>> Did i misunderstand something? May be i'm confusing provider/consumer
>> role?
>> 
>> 
>> 
>> 
>> Freeman Fang wrote:
>>> 
>>> Comments in line
>>> 
>>> Florent wrote:
>>>> Morning Freeman,
>>>>
>>>> I tried to modify my SOAP message, but it didn't work : i still get the
>>>> same
>>>> error. 
>>>>   
>>> What's your new soap message now?
>>>> I also tried to call the web service with this enveloppe and a
>>>> standalone
>>>> client : i got a "wrong parameter error".
>>>>
>>>> I think my SOAP message is correct : i tried to generate it from the
>>>> RAD 7
>>>> web service test and it was the same one. Plus, my business method has
>>>> one
>>>> parameter (a string) and a complex type as return type.
>>>>   
>>> According to the schema from your wsdl, your soap messge  
>>> <getProtoDTO>ddd</getProteDTO> is not correct, under <getProtoDTO> 
>>> element, there should be element <date> or <dble> or <integ> or <liste>
>>> 
>>> Btw, different soap tool kit may generate soap message with little 
>>> different, which may cause interoperability problem
>>> 
>>>> As i'm totally new to servicemix, so there is probably something i
>>>> don't
>>>> understand.
>>>>
>>>> What i want to do :
>>>> SOAP message <--> Servicemix cxf bc <---> SOAP message <-->Websphere
>>>> Application Server
>>>>
>>>> Considering the debug log, what i think it's going on :
>>>> SOAP message <--> Servicemix cxf bc <---> JBI message <-->Websphere
>>>> Application Server
>>>>   
>>> no, what's going on is
>>> 
>>> SOAP message <--> Servicemix cxf bc consumer<---> JBI message 
>>> <--->Servicemix Cxf bc provider <---> soap message <-->Websphere
>>> Application Server
>>> 
>>> So what's reach your websphere application server is soap message, not 
>>> jbi message.
>>> May be you need refer to [1]  which is similiar as your scenario
>>> [1] 
>>> http://svn.apache.org/repos/asf/servicemix/trunk/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderConsumerTest.java
>>> 
>>>> So, i don't think WAS support JBI message... and that could explain my
>>>> error
>>>> (i no longer think it's a soap verion problem).
>>>>
>>>> http://localhost:9080/PROTOServiceMixWeb/services/ProtoBean = thrid
>>>> party
>>>> web service URL.
>>>> http://localhost:8092/ProtoBeanService/ = servicemix web service.
>>>>
>>>> I only want to call my web service, but i want to call it using a
>>>> servicemix
>>>> URL.
>>>>
>>>> Thanks again for your help,
>>>> Best Regards,
>>>> Florent.
>>>>
>>>>
>>>>
>>>> Freeman Fang wrote:
>>>>   
>>>>> Hi Florent,
>>>>>
>>>>> This problem has nothing to do with soap version.
>>>>>
>>>>> The problem is that your hard code soap request message is not
>>>>> correct.
>>>>>
>>>>> According to the schema in wsdl you append, it should be something
>>>>> like
>>>>>
>>>>> <env:Envelope
>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>>>>> xmlns:en
>>>>> v="http://schemas.xmlsoap.org/soap/envelope/";
>>>>> xmlns:xsd="http://www.w3.org/2001/
>>>>> XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>> xmlns:tns="http
>>>>> ://ejb.proto.mycompany.com"><env:Body><tns:getProtoDTO>
>>>>> <date>your date</date>
>>>>> <dble>your dble</dble>
>>>>> <integ>your integ</integ>
>>>>> <liste>your liste</liste>
>>>>> </tns:getPr
>>>>> otoDTO></env:Body></env:Envelope>
>>>>>
>>>>> You shouldn't use 
>>>>> <tns:getProtoDTO>something</tns:getProtoDTO> directly without element
>>>>> tag
>>>>> defined in the schema.
>>>>> For some complex schema, write soap message yourself is not so easy,
>>>>> so we
>>>>> prefer to use some soap tool kit to generate soap message for you, may
>>>>> be
>>>>> you can  try to use apache cxf, basically generate code stub from the
>>>>> wsdl, and what you need do is just write client invoke code as normal
>>>>> java
>>>>> operation invoke and  cxf will genearate soap message for you.
>>>>>
>>>>> Would you please try it again?
>>>>>
>>>>> Best Regards
>>>>>
>>>>> Freeman
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Florent wrote:
>>>>>     
>>>>>> Hi Freeman,
>>>>>>
>>>>>> Indeed, http://localhost:9080/PROTOServiceMixWeb/services/ProtoBean
>>>>>> use
>>>>>> soap
>>>>>> 1.1.
>>>>>> But i don't know which soap version
>>>>>> http://localhost:8092/ProtoBeanService/
>>>>>> is using...
>>>>>>
>>>>>> The third party webservice is hosted by Websphere Application Server
>>>>>> 6.1.
>>>>>>
>>>>>> I don't really know what cxf is doing to the message, is it possible
>>>>>> to
>>>>>> log/trace it?
>>>>>>
>>>>>> I enabled debug log and added interceptors in my xbean.xml, here is
>>>>>> the
>>>>>> output :
>>>>>>
>>>>>> INFO: Inbound Message
>>>>>> --------------------------------------
>>>>>> Encoding: utf-8
>>>>>> Headers: {Content-Length=[353], User-Agent=[IBM WebServices/1.0],
>>>>>> Host=[ITEM-509
>>>>>> 73:8092], connection=[Keep-Alive], Date=[Mon, 26 Nov 2007 08:59:47
>>>>>> GMT],
>>>>>> SOAPAct
>>>>>> ion=[], Pragma=[no-cache], content-type=[text/xml; charset=utf-8],
>>>>>> Cache-Control
>>>>>> =[no-cache], Accept=[application/soap+xml,multipart/related,text/*]}
>>>>>> Message:
>>>>>> <env:Envelope
>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>>>>>> xmlns:en
>>>>>> v="http://schemas.xmlsoap.org/soap/envelope/";
>>>>>> xmlns:xsd="http://www.w3.org/2001/
>>>>>> XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>>> xmlns:tns="http
>>>>>> ://ejb.proto.mycompany.com"><env:Body><tns:getProtoDTO>ddd</tns:getPr
>>>>>> otoDTO></env:Body></env:Envelope>
>>>>>> --------------------------------------
>>>>>> DEBUG - CxfBcComponent                 - Created correlation id:
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1
>>>>>> DEBUG - DeliveryChannelImpl            - SendSync
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1 in
>>>>>> DeliveryChannel{servicemix-cxf-bc}
>>>>>> DEBUG - SedaFlow                       - Called Flow send
>>>>>> DEBUG - DeliveryChannelImpl            - Waiting for exchange
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1 (1d7a7b3) to be answered in
>>>>>> DeliveryChannel{servicemix-cxf-bc} from sendSync
>>>>>> DEBUG - SedaQueue                      -
>>>>>> [EMAIL PROTECTED] dequeued
>>>>>> exchange: InOut[
>>>>>>   id: ID:172.16.180.193-1167b1f58b2-4:1
>>>>>>   status: Active
>>>>>>   role: provider
>>>>>>   interface: {http://ejb.proto.mycompany.com}ProtoBean
>>>>>>   service: {http://ejb.proto.mycompany.com}ProtoBeanService
>>>>>>   endpoint: ProtoBean
>>>>>>   operation: {http://ejb.proto.mycompany.com}getProtoDTO
>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>>>>>> xmlns:jbi="http://java.
>>>>>> sun.com/xml/ns/jbi/wsdl-11-wrapper"
>>>>>> xmlns:msg="http://ejb.proto.mycompany.com"; name=
>>>>>> "getProtoDTORequest" type="msg:getProtoDTORequest"
>>>>>> version="1.0"><jbi:part><tns:
>>>>>> getProtoDTO xmlns:tns="http://ejb.proto.mycompany.com";>ddd</tns:getPr
>>>>>> otoDTO></jbi:part></jbi:message>
>>>>>> ]
>>>>>> DEBUG - CxfBcComponent                 - Received exchange: status:
>>>>>> Active,
>>>>>> role: provider
>>>>>> DEBUG - CxfBcComponent                 - Retrieved correlation id:
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1
>>>>>> DEBUG - DeliveryChannelImpl            - Send
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1in
>>>>>> DeliveryChannel{servicemix-cxf-bc}
>>>>>> DEBUG - SedaFlow                       - Called Flow send
>>>>>> DEBUG - SedaQueue                      -
>>>>>> [EMAIL PROTECTED] dequeued
>>>>>> exchange: InOut[
>>>>>>   id: ID:172.16.180.193-1167b1f58b2-4:1
>>>>>>   status: Active
>>>>>>   role: consumer
>>>>>>   interface: {http://ejb.proto.mycompany.com}ProtoBean
>>>>>>   service: {http://ejb.proto.mycompany.com}ProtoBeanService
>>>>>>   endpoint: ProtoBean
>>>>>>   operation: {http://ejb.proto.mycompany.com}getProtoDTO
>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>>>>>> xmlns:jbi="http://java.
>>>>>> sun.com/xml/ns/jbi/wsdl-11-wrapper"
>>>>>> xmlns:msg="http://ejb.proto.mycompany.com"; name=
>>>>>> "getProtoDTORequest" type="msg:getProtoDTORequest"
>>>>>> version="1.0"><jbi:part><tns:
>>>>>> getProtoDTO xmlns:tns="http://ejb.proto.mycompany.com";>ddd</tns:getPr
>>>>>> otoDTO></jbi:part></jbi:message>
>>>>>>   out: null
>>>>>> ]
>>>>>> DEBUG - DeliveryChannelImpl            - Notifying exchange
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1(1d7a7b3) in
>>>>>> DeliveryChannel{servicemix-cxf-bc} from
>>>>>> processInboundSynchronousExchange
>>>>>> DEBUG - DeliveryChannelImpl            - Notified:
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1(1d7a7b3) in
>>>>>> DeliveryChannel{servicemix-cxf-bc} from sendSync
>>>>>> 26 nov. 2007 09:59:48
>>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback
>>>>>> onClose
>>>>>> INFO: Outbound Message
>>>>>> --------------------------------------
>>>>>> <soap:Envelope
>>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body
>>>>>>  /></soap:Envelope>
>>>>>> --------------------------------------
>>>>>> DEBUG - DeliveryChannelImpl            - Send
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1
>>>>>> in DeliveryChannel{servicemix-cxf-bc}
>>>>>> DEBUG - SedaFlow                       - Called Flow send
>>>>>> DEBUG - SedaQueue                      -
>>>>>> [EMAIL PROTECTED] dequeued
>>>>>> exchange: InOut[
>>>>>>   id: ID:172.16.180.193-1167b1f58b2-4:1
>>>>>>   status: Done
>>>>>>   role: provider
>>>>>>   interface: {http://ejb.proto.mycompany.com}ProtoBean
>>>>>>   service: {http://ejb.proto.mycompany.com}ProtoBeanService
>>>>>>   endpoint: ProtoBean
>>>>>>   operation: {http://ejb.proto.mycompany.com}getProtoDTO
>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>>>>>> xmlns:jbi="http://java.
>>>>>> sun.com/xml/ns/jbi/wsdl-11-wrapper"
>>>>>> xmlns:msg="http://ejb.proto.mycompany.com"; name=
>>>>>> "getProtoDTORequest" type="msg:getProtoDTORequest"
>>>>>> version="1.0"><jbi:part><tns:
>>>>>> getProtoDTO xmlns:tns="http://ejb.proto.mycompany.com";>ddd</tns:getPr
>>>>>> otoDTO></jbi:part></jbi:message>
>>>>>>   out: null
>>>>>> ]
>>>>>> DEBUG - CxfBcComponent                 - Received exchange: status:
>>>>>> Done,
>>>>>> role:provider
>>>>>> DEBUG - CxfBcComponent                 - Retrieved correlation id:
>>>>>> ID:172.16.180.193-1167b1f58b2-4:1
>>>>>> javax.jbi.messaging.MessagingException: Out not supported
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:357)
>>>>>>         at
>>>>>> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:125)
>>>>>>         at
>>>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1932)
>>>>>>         at
>>>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1790)
>>>>>>         at
>>>>>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
>>>>>>         at
>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>>>>>         at
>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>>>>>         at
>>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>         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)
>>>>>>
>>>>>>
>>>>>>
>>>>>> Here is my wsdl used by servicemix (the one used by the AS is the
>>>>>> same
>>>>>> one,
>>>>>> except the service location) :
>>>>>>
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <wsdl:definitions targetNamespace="http://ejb.proto.mycompany.com";
>>>>>>  xmlns:impl="http://ejb.proto.mycompany.com";
>>>>>>  xmlns:intf="http://ejb.proto.mycompany.com";
>>>>>>  xmlns:tns2="http://dto.proto.mycompany.com";
>>>>>>  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>>>>>>  xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>>>>>>  xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd";
>>>>>>  xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>>>>>>  <wsdl:types>
>>>>>>          <schema targetNamespace="http://ejb.proto.mycompany.com";
>>>>>>                  xmlns="http://www.w3.org/2001/XMLSchema";
>>>>>>                  xmlns:tns2="http://dto.proto.mycompany.com";
>>>>>>                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>>>>>>                  xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>>>>>>                  <import namespace="http://dto.proto.mycompany.com"; />
>>>>>>                  <element name="getProtoDTOResponse">
>>>>>>                          <complexType>
>>>>>>                                  <sequence>
>>>>>>                                          <element 
>>>>>> name="getProtoDTOReturn"
>>>>>>                                                  nillable="true" 
>>>>>> type="tns2:ProtoDTO" />
>>>>>>                                  </sequence>
>>>>>>                          </complexType>
>>>>>>                  </element>
>>>>>>                  <element name="getProtoDTO">
>>>>>>                          <complexType>
>>>>>>                                  <sequence>
>>>>>>                                          <element name="param" 
>>>>>> nillable="true"
>>>>>>                                                  type="xsd:string" />
>>>>>>                                  </sequence>
>>>>>>                          </complexType>
>>>>>>                  </element>
>>>>>>                  <complexType name="ArrayOf_xsd_nillable_string">
>>>>>>                          <sequence>
>>>>>>                                  <element maxOccurs="unbounded" 
>>>>>> minOccurs="0"
>>>>>>                                          name="string" nillable="true" 
>>>>>> type="xsd:string" />
>>>>>>                          </sequence>
>>>>>>                  </complexType>
>>>>>>          </schema>
>>>>>>          <schema targetNamespace="http://dto.proto.mycompany.com";
>>>>>>                  xmlns="http://www.w3.org/2001/XMLSchema";
>>>>>>                  xmlns:intf="http://ejb.proto.mycompany.com";
>>>>>>                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>>>>>>                  xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>>>>>>                  <import namespace="http://ejb.proto.mycompany.com"; />
>>>>>>                  <complexType name="ProtoDTO">
>>>>>>                          <sequence>
>>>>>>                                  <element name="date" nillable="true"
>>>>>>                                          type="xsd:dateTime" />
>>>>>>                                  <element name="dble" nillable="true"
>>>>>>                                          type="xsd:double" />
>>>>>>                                  <element name="integ" type="xsd:int" />
>>>>>>                                  <element name="liste" nillable="true"
>>>>>>                                          
>>>>>> type="impl:ArrayOf_xsd_nillable_string" />
>>>>>>                          </sequence>
>>>>>>                  </complexType>
>>>>>>          </schema>
>>>>>>  </wsdl:types>
>>>>>>
>>>>>>  <wsdl:message name="getProtoDTORequest">
>>>>>>          <wsdl:part element="intf:getProtoDTO" name="parameters" />
>>>>>>
>>>>>>  </wsdl:message>
>>>>>>
>>>>>>  <wsdl:message name="getProtoDTOResponse">
>>>>>>          <wsdl:part element="intf:getProtoDTOResponse" name="parameters" 
>>>>>> />
>>>>>>
>>>>>>  </wsdl:message>
>>>>>>
>>>>>>  <wsdl:portType name="ProtoBean">
>>>>>>          <wsdl:operation name="getProtoDTO">
>>>>>>                  <wsdl:input message="intf:getProtoDTORequest"
>>>>>>                          name="getProtoDTORequest" />
>>>>>>
>>>>>>                  <wsdl:output message="intf:getProtoDTOResponse"
>>>>>>                          name="getProtoDTOResponse" />
>>>>>>
>>>>>>          </wsdl:operation>
>>>>>>
>>>>>>  </wsdl:portType>
>>>>>>
>>>>>>  <wsdl:binding name="ProtoBeanSoapBinding" type="intf:ProtoBean">
>>>>>>
>>>>>>          <wsdlsoap:binding style="document"
>>>>>>                  transport="http://schemas.xmlsoap.org/soap/http"; />
>>>>>>
>>>>>>          <wsdl:operation name="getProtoDTO">
>>>>>>                  <wsdlsoap:operation soapAction="getProtoDTO" />
>>>>>>
>>>>>>                  <wsdl:input name="getProtoDTORequest">
>>>>>>                          <wsdlsoap:body use="literal" />
>>>>>>
>>>>>>                  </wsdl:input>
>>>>>>
>>>>>>                  <wsdl:output name="getProtoDTOResponse">
>>>>>>                          <wsdlsoap:body use="literal" />
>>>>>>
>>>>>>                  </wsdl:output>
>>>>>>
>>>>>>          </wsdl:operation>
>>>>>>
>>>>>>  </wsdl:binding>
>>>>>>
>>>>>>  <wsdl:service name="ProtoBeanService">
>>>>>>          <wsdl:port binding="intf:ProtoBeanSoapBinding"
>>>>>>                  name="ProtoBean">
>>>>>>                  <wsdlsoap:address
>>>>>>                          
>>>>>> location="http://localhost:8092/ProtoBeanService/"; />
>>>>>>
>>>>>>          </wsdl:port>
>>>>>>
>>>>>>  </wsdl:service>
>>>>>>
>>>>>> </wsdl:definitions>
>>>>>>
>>>>>> Thanks in advance,
>>>>>> Florent.
>>>>>>
>>>>>>
>>>>>> Freeman Fang-2 wrote:
>>>>>>   
>>>>>>       
>>>>>>> Hi Florent,
>>>>>>> Do you mean 
>>>>>>> http://localhost:9080/PROTOServiceMixWeb/services/ProtoBean   use 
>>>>>>> soap1.1 and http://localhost:8092/ProtoBeanService/  use soap 1.2?
>>>>>>> Which soap toolkit are the third party webservice using?
>>>>>>> Would you please append the wsdl used for two webservices?
>>>>>>>
>>>>>>> Best Regards
>>>>>>>
>>>>>>> Freeman
>>>>>>>
>>>>>>>
>>>>>>> Florent wrote:
>>>>>>>     
>>>>>>>         
>>>>>>>> If i use the following code to access to my web service, it works
>>>>>>>> fine
>>>>>>>> : 
>>>>>>>>
>>>>>>>> String endpoint =
>>>>>>>> "http://localhost:9080/PROTOServiceMixWeb/services/ProtoBean";;
>>>>>>>>
>>>>>>>> String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
>>>>>>>>                                                "<env:Envelope
>>>>>>>> xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\";
>>>>>>>> " +
>>>>>>>>                                
>>>>>>>> "xmlns:tns=\"http://ejb.proto.mycompany.com\";>" +
>>>>>>>>                                "<env:Body>" +
>>>>>>>>                                "<tns:getProtoDTO>" +
>>>>>>>>                        
>>>>>>>> "<tns:getProtoDTORequest>0</tns:getProtoDTORequest>" +
>>>>>>>>                                "</tns:getProtoDTO>" +
>>>>>>>>                                                "</env:Body>" +
>>>>>>>>                                                "</env:Envelope>";
>>>>>>>>                
>>>>>>>>                MessageFactory mf = MessageFactory.newInstance();
>>>>>>>>                SOAPMessage smsg = mf.createMessage(new MimeHeaders(), 
>>>>>>>> new
>>>>>>>> ByteArrayInputStream(xml.getBytes()));
>>>>>>>>                
>>>>>>>>                SOAPConnection conn =
>>>>>>>> SOAPConnectionFactory.newInstance().createConnection();
>>>>>>>>         SOAPMessage response = conn.call(smsg, url);
>>>>>>>>         
>>>>>>>>         SOAPEnvelope env = response.getSOAPPart().getEnvelope();
>>>>>>>>
>>>>>>>>
>>>>>>>> If i try to call the fellowing url :
>>>>>>>> http://localhost:8092/ProtoBeanService/
>>>>>>>> i get an error : No SOAPAction header (Application server log)...
>>>>>>>> That's
>>>>>>>> why
>>>>>>>> i was wondering about the soap version.
>>>>>>>>
>>>>>>>> I get the following error in servicemix log : 
>>>>>>>>
>>>>>>>> javax.jbi.messaging.MessagingException: Out not supported
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:357)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:125)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1932)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1790)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>>>         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)
>>>>>>>>
>>>>>>>>
>>>>>>>> Any idea?
>>>>>>>>
>>>>>>>> Thank you in advance,
>>>>>>>> Florent.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Freeman Fang wrote:
>>>>>>>>   
>>>>>>>>       
>>>>>>>>           
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> You needn't specify it in cxf bc endpint configuration. Cxf bc
>>>>>>>>> should 
>>>>>>>>> support both of it by default.
>>>>>>>>> Cxf bc will parse the wsdl you provided and create service model 
>>>>>>>>> accordingly, extract soap version from your wsdl binding part.
>>>>>>>>>
>>>>>>>>> Best Regards
>>>>>>>>>
>>>>>>>>> Freeman
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Florent wrote:
>>>>>>>>>     
>>>>>>>>>         
>>>>>>>>>             
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> I'm trying to expose a third party webservice to the bus, using
>>>>>>>>>> cxf.
>>>>>>>>>>
>>>>>>>>>> I'd like to know if i can set the soap version. For example, when
>>>>>>>>>> i
>>>>>>>>>> was
>>>>>>>>>> using service-http, there was a SoapVersion attribute, but i
>>>>>>>>>> didn't
>>>>>>>>>> find
>>>>>>>>>> one
>>>>>>>>>> for the servicemix-cxf-bc-3.2-schema.
>>>>>>>>>>
>>>>>>>>>> Is soap 1.1 or 1.2 used?
>>>>>>>>>>
>>>>>>>>>> Here is my xbean.xml :
>>>>>>>>>>
>>>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0";
>>>>>>>>>>        xmlns:ns1="http://ejb.proto.mycompany.com";>
>>>>>>>>>>        
>>>>>>>>>>       <cxfbc:consumer 
>>>>>>>>>>                         wsdl="classpath:ProtoBean.wsdl" 
>>>>>>>>>>                         endpoint="ProtoBeanPort"
>>>>>>>>>>                         targetEndpoint="ProtoBean" 
>>>>>>>>>>                         targetService="ns1:ProtoBeanService" 
>>>>>>>>>>                         targetInterface="ns1:ProtoBean" 
>>>>>>>>>>                         > 
>>>>>>>>>>       </cxfbc:consumer> 
>>>>>>>>>>   
>>>>>>>>>>       <cxfbc:provider 
>>>>>>>>>>                         wsdl="classpath:ProtoBean.wsdl" 
>>>>>>>>>>                        
>>>>>>>>>> locationURI="http://localhost:9080/PROTOServiceMixWeb/services/ProtoBean";
>>>>>>>>>>  
>>>>>>>>>>                         service="ns1:ProtoBeanService" 
>>>>>>>>>>                         endpoint="ProtoBean" 
>>>>>>>>>>                         interfaceName="ns1:ProtoBean" 
>>>>>>>>>>                         > 
>>>>>>>>>>       </cxfbc:provider>
>>>>>>>>>>
>>>>>>>>>> </beans> 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>   
>>>>>>>>>>       
>>>>>>>>>>           
>>>>>>>>>>               
>>>>>>>>>     
>>>>>>>>>         
>>>>>>>>>             
>>>>>>>>   
>>>>>>>>       
>>>>>>>>           
>>>>>>>     
>>>>>>>         
>>>>>>   
>>>>>>       
>>>>>     
>>>>
>>>>   
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/servicemix-cxf-bc---soapVersion-attribute-tf4860627s12049.html#a13969473
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to