You were right!!
Adding the URL to the WSDL worked ;)

Thanks a lot for your quick and accurate advices!!



-----Message d'origine-----
De : Freeman Fang [mailto:[email protected]] 
Envoyé : mercredi 19 janvier 2011 15:44
À : [email protected]
Objet : Re: Unable to set Soap Version to 1.2


On 2011-1-19, at 下午10:37, MARTELLI Julien wrote:

> Ehehe yep... This should be better ;)
>
>
> Here is how I get the portType:
>
> // Get the Service => this is maybe here that the Wsdl Location is  
> missing?
> QName serviceQName = new QName("urn:ihe:iti:xds-b:2007",  
> "DocumentRepository_Service");
> Service service = Service.create(serviceQName);
>
> // Get the PortType
> return Service.getPort(DocumentRepositoryPortType.class);
>
>
> => Maybe we need to create the service with Service.create(URL,  
> QName) ??
That exactly what I suggest

Freeman
>
>
> And here is the very beginning of my client start:
>
> 19 janv. 2011 15:14:59  
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean  
> buildServiceFromClass
> INFO: Creating Service {urn:ihe:iti:xds-b: 
> 2007}DocumentRepository_Service from class  
> ihe.iti.xdsb_2007.repository.DocumentRepositoryPortType
> 19 janv. 2011 15:15:00  
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean  
> buildServiceFromClass
> INFO: Creating Service {urn:ihe:iti:xds-b: 
> 2007}DocumentRepository_Service from class  
> ihe.iti.xdsb_2007.repository.DocumentRepositoryPortType
> 19 janv. 2011 15:15:01  
> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback  
> onClose
>
>
> Thanks again
>
> -----Message d'origine-----
> De : Freeman Fang [mailto:[email protected]]
> Envoyé : mercredi 19 janvier 2011 15:31
> À : [email protected]
> Objet : Re: Unable to set Soap Version to 1.2
>
> Hi,
>
> About the code part, I just want to see how you get  portType, so that
> I can know if you pass in wsdlLocation
>
> About the log part, I want to see how the servicemodel is build, so
> that I can see if it pick up the wsdl, it should be at very beginning
> when you start client.
>
> Unfortunately, your post miss both what I want to check. :-)
> Freeman
>
> On 2011-1-19, at 下午10:15, MARTELLI Julien wrote:
>
>> This is how I configure the client:
>>
>>
>> // Below portType is a concrete implementation of
>> DocumentRepositoryPortType generated interface
>>
>> // Setting the service URL
>> BindingProvider provider = (BindingProvider) portType;
>> provider
>> .getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
>> wsUrl);
>> // MTOM
>> SOAPBinding soapBinding = (SOAPBinding) provider.getBinding();
>> soapBinding.setMTOMEnabled(true);
>> // Adding a specific handler
>> List<Handler> handlerChain = binding.getHandlerChain();
>> handlerChain.add(new JetonAuthentificationHandler());
>> soapBinding.setHandlerChain(handlerChain);
>> // Getting the client
>> Client client = ClientProxy.getClient(portType);
>> // WS-Adressing
>> EndpointImpl endpoint = (EndpointImpl) client.getEndpoint();
>> Bus bus = endpoint.getBus();
>> new WSAddressingFeature().initialize(client, bus);
>> // Setting endpointInfo URL
>> ConduitSelector conduitSelector = client.getConduitSelector();
>> conduitSelector
>> .getEndpoint().getEndpointInfo().setAddress(super.wsUrl);
>> // Then we add SSL / TLS configuration => not showed here
>>
>>
>>
>> Then we call the service:
>>
>> // With request as content
>> portType.documentRepositoryProvideAndRegisterDocumentSetB(request);
>>
>>
>> On the logs here is what we have (extract of the SOAP Envelope
>> beginning only):
>>
>> INFO: Outbound Message
>> ---------------------------
>> ID: 1
>> Address: https://172.30.13.61:9043/xds/cxf/DocumentRepository_Service
>> Encoding: UTF-8
>> Content-Type: multipart/related; type="application/xop+xml";
>> boundary="uuid:0e72f86e-32e7-4259-a577-45c4482f461a"; 
>> start="<[email protected]
>>> "; start-info="text/xml"
>> Headers: {SOAPAction=["urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b
>> "], Accept=[*/*]}
>> Payload:
>> --uuid:0e72f86e-32e7-4259-a577-45c4482f461a
>> Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
>> Content-Transfer-Encoding: binary
>> Content-ID: <[email protected]>
>>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
>> envelope/"><soap:Header><Action xmlns="http://www.w3.org/2005/08/addressing
>> ">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b</
>> Action><MessageID 
>> xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:c7a3eac7-054d-48a1-a510-c43e6d3df180
>> </MessageID><To 
>> xmlns="http://www.w3.org/2005/08/addressing";>https://172.30.13.61:9043/xds/cxf/DocumentRepository_Service
>> </To><ReplyTo 
>> xmlns="http://www.w3.org/2005/08/addressing";><Address>http://www.w3.org/2005/08/addressing/anonymous
>> </Address></ReplyTo><wsse:Security 
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
>> "><saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:
>> 2.0:assertion" ID="be515324-bccf-4e2b-8667-231b6f46f4a6"
>> IssueInstant="2009-02-02T00:00:00.000Z" Version="2.0"><saml2:Issuer
>> Format="urn:oasis:names:tc:SAML:1.1:nameid-
>> format:X509SubjectName">CN=client, OU=Waid, O=Waid, L=Aix, ST=PACA,
>> C=FR</saml2:Issuer><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#
>> ">
>> ...
>>
>>
>>
>> -----Message d'origine-----
>> De : Freeman Fang [mailto:[email protected]]
>> Envoyé : mercredi 19 janvier 2011 15:04
>> À : [email protected]
>> Objet : Re: Unable to set Soap Version to 1.2
>>
>> Hi,
>>
>> How you configure your client? What the client side looks like,  
>> ensure
>> you already specify wsdlLocation for client side. Seems the client
>> side didn't pick up the wsdl to build the service model.
>> Could you please paste the log when you run client?
>>
>> Freeman
>> On 2011-1-19, at 下午9:38, MARTELLI Julien wrote:
>>
>>> Hi,
>>>
>>> Thanks for this quick answer.
>>>
>>> I impacted the momdifications you are talking about and there is no
>>> difference. The client still generates SOAP 1.1 messages....
>>>
>>>
>>> -----Message d'origine-----
>>> De : Freeman Fang [mailto:[email protected]]
>>> Envoyé : mercredi 19 janvier 2011 10:06
>>> À : [email protected]
>>> Objet : Re: Unable to set Soap Version to 1.2
>>>
>>> Hi,
>>>
>>> My comment inline
>>> On 2011-1-19, at 下午4:54, MARTELLI Julien wrote:
>>>
>>>> Hi all,
>>>>
>>>> I am facing a problem with the SOAP message version.
>>>> I am really stuck with this problem so any help would be
>>>> appreciated.
>>>>
>>>> OK so here is the context.
>>>>
>>>> I have a WSDL file from which I generate sources using the  
>>>> wsdl2java
>>>> CXF Maven plugin.
>>>> Here is an extract of my WSDL file :
>>>>
>>>> <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>>>> xmlns="http://schemas.xmlsoap.org/wsdl/"; 
>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema
>>>> "
>>>> xmlns:ihe="urn:ihe:iti:xds-b:2007" 
>>>> xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0
>>>> "
>>>> targetNamespace="urn:ihe:iti:xds-b:2007" 
>>>> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/
>>>> "
>>>> xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
>>>> name="DocumentRepository">
>>>> ...
>>>> <binding name="DocumentRepository_Binding"
>>>> type="ihe:DocumentRepository_PortType">
>>>> <soap12:binding style="document" 
>>>> transport="http://schemas.xmlsoap.org/soap/http
>>>> "/>
>>> I think transport here should be
>>> transport="http://www.w3.org/2003/05/soap/bindings/HTTP/";
>>>> <operation name="DocumentRepository_ProvideAndRegisterDocumentSet-
>>>> b">
>>>>   <soap12:operation 
>>>> soapAction="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b
>>>> "/>
>>>>   <input>
>>>>     <soap12:body use="literal"/>
>>>>   </input>
>>>>   <output>
>>>>     <soap12:body use="literal"/>
>>>>   </output>
>>>> </operation>
>>>> <operation name="DocumentRepository_RetrieveDocumentSet">
>>>>   <soap12:operation soapAction="urn:ihe:iti:
>>>> 2007:RetrieveDocumentSet
>>>> "/>
>>>>   <input>
>>>>     <soap12:body use="literal"/>
>>>>   </input>
>>>>   <output>
>>>>     <soap12:body use="literal"/>
>>>>   </output>
>>>> </operation>
>>>> </binding>
>>>> ;;;
>>>> <service name="DocumentRepository_Service">
>>>> <port name="DocumentRepository_Port_Soap12"
>>>> binding="ihe:DocumentRepository_Binding">
>>>>   <soap12:address 
>>>> location="https://servicelocation/DocumentRepository_Service
>>>> "/>
>>>> </port>
>>>> </service>
>>>>
>>>>
>>>> On the generated interface there is no annotation concerning the
>>>> Binding :
>>>>
>>>> @WebService(targetNamespace = "urn:ihe:iti:xds-b:2007", name =
>>>> "DocumentRepository_PortType")
>>>> @XmlSeeAlso
>>>> ({oasis.names.tc.ebxml_regrep.xsd.query._3.ObjectFactory.class,
>>>> oasis.names.tc.ebxml_regrep.xsd.rs._3.ObjectFactory.class,
>>>> ObjectFactory.class,
>>>> oasis.names.tc.ebxml_regrep.xsd.lcm._3.ObjectFactory.class,
>>>> oasis.names.tc.ebxml_regrep.xsd.rim._3.ObjectFactory.class})
>>>> public interface DocumentRepositoryPortType {
>>>> ...
>>>>
>>>>
>>>> Then I use the generated classes to contact the Web Service and my
>>>> client is not configured via Spring but build programmatically.
>>>>
>>>> The problem is that the generated SOAP message is a SOAP 1.1
>>>> message...
>>>> I am not able to find a way to configure my client to use a SOAP  
>>>> 1.2
>>>> binding, and I tried to add the annotation
>>>> @BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING)
>>>> on the generated interface (as someone suggested to me on this
>>>> stackoverflow post :
>>> You should add annotation like
>>> @javax.xml.ws.BindingType(value = 
>>> "http://www.w3.org/2003/05/soap/bindings/HTTP/
>>> ")
>>>
>>> You can get more details from the wsdl_first_soap12 example shipped
>>> with kit.
>>>
>>> Freeman
>>>> http://stackoverflow.com/questions/4248098/cxf-how-to-set-soapversion-on-cxf-port-without-spring)
>>>> but it didn't change anything...
>>>> Maybe it's because I configure my client without Spring and thus  
>>>> the
>>>> default Soap 1.1 version is used...
>>>> I really don't know...
>>>>
>>>>
>>>> Do you guys have an idea ?
>>>>
>>>> Thanks in advance !
>>>> J.
>>>
>>>
>>> -- 
>>> Freeman Fang
>>>
>>> ------------------------
>>>
>>> FuseSource: http://fusesource.com
>>> blog: http://freemanfang.blogspot.com
>>> twitter: http://twitter.com/freemanfang
>>> Apache Servicemix:http://servicemix.apache.org
>>> Apache Cxf: http://cxf.apache.org
>>> Apache Karaf: http://karaf.apache.org
>>> Apache Felix: http://felix.apache.org
>>>
>>
>>
>> -- 
>> Freeman Fang
>>
>> ------------------------
>>
>> FuseSource: http://fusesource.com
>> blog: http://freemanfang.blogspot.com
>> twitter: http://twitter.com/freemanfang
>> Apache Servicemix:http://servicemix.apache.org
>> Apache Cxf: http://cxf.apache.org
>> Apache Karaf: http://karaf.apache.org
>> Apache Felix: http://felix.apache.org
>>
>
>
> -- 
> Freeman Fang
>
> ------------------------
>
> FuseSource: http://fusesource.com
> blog: http://freemanfang.blogspot.com
> twitter: http://twitter.com/freemanfang
> Apache Servicemix:http://servicemix.apache.org
> Apache Cxf: http://cxf.apache.org
> Apache Karaf: http://karaf.apache.org
> Apache Felix: http://felix.apache.org
>


-- 
Freeman Fang

------------------------

FuseSource: http://fusesource.com
blog: http://freemanfang.blogspot.com
twitter: http://twitter.com/freemanfang
Apache Servicemix:http://servicemix.apache.org
Apache Cxf: http://cxf.apache.org
Apache Karaf: http://karaf.apache.org
Apache Felix: http://felix.apache.org

Reply via email to