You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Idar Borlaug <id...@gmail.com> on 2008/10/14 14:53:24 UTC

DynamicFactory forcing it to soap 1.1

Hi

I am trying to talk to a WebService, which when i use SOAPUI responds
fine with soap 1.1 but resturns not supported when using soap 1.2.

I generate java classes with maven and wsdl2java
<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-codegen-plugin</artifactId>
				<version>2.1.2</version>

I also tried to apply a bindings file which looks like this:
<jaxws:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" wsdlLocation="Parka.wsdl"
	xmlns="http://java.sun.com/xml/ns/jaxws"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">

	<jaxws:binding>

		<wsdl:soapBinding version="1.1" />
	</jaxws:binding>
</jaxws:bindings>

I connect with the JaxWsProxyFactoryBean below.

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(PortalSoap.class);
factory.setAddress(url);
client = (PortalSoap) factory.create();

When using logging interceptor i send a request and receive nothing.
Which corresponds to the behavior in soap ui when using soap 1.2. Then
i get content-length 0 respons.

There are two ports in the wsdl
<wsdl:service name="Portal">
    <wsdl:port name="PortalSoap" binding="tns:PortalSoap">
      <soap:address location="http://hidden/Service.asmx"/>
    </wsdl:port>
    <wsdl:port name="PortalSoap12" binding="tns:PortalSoap12">
      <soap12:address location="http://hidden/Service.asmx"/>
    </wsdl:port>
  </wsdl:service>

Is there a way to force or check if cxf uses soap 1.1 or 1.2?

-- 
Idar

Re: DynamicFactory forcing it to soap 1.1

Posted by Idar Borlaug <id...@gmail.com>.
It seems the problem is with HTTP headers.

soapUI generate these headers
POST /Service.asmx HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://hidden/HentPassord"
User-Agent: Jakarta Commons-HttpClient/3.0.1
Host: hidden
Content-Length: 216

And cxf generate this header:
POST /Service.asmx HTTP/1.1
X-MULE_ENDPOINT: http://hidden/Service.asmx
User-Agent: Jakarta Commons-HttpClient/3.1
Host: hidden
Transfer-Encoding: chunked
Content-Type: text/plain

As you can see Mule has changed some of the headers, so this is most
probably a mule issue and not one with cxf, even though i don't use
any mule code in this particular part of my application.

2008/10/14 Idar Borlaug <id...@gmail.com>:
> Hi
>
> I am trying to talk to a WebService, which when i use SOAPUI responds
> fine with soap 1.1 but resturns not supported when using soap 1.2.
>
> I generate java classes with maven and wsdl2java
> <groupId>org.apache.cxf</groupId>
>                                <artifactId>cxf-codegen-plugin</artifactId>
>                                <version>2.1.2</version>
>
> I also tried to apply a bindings file which looks like this:
> <jaxws:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" wsdlLocation="Parka.wsdl"
>        xmlns="http://java.sun.com/xml/ns/jaxws"
> xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">
>
>        <jaxws:binding>
>
>                <wsdl:soapBinding version="1.1" />
>        </jaxws:binding>
> </jaxws:bindings>
>
> I connect with the JaxWsProxyFactoryBean below.
>
> JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
> factory.setServiceClass(PortalSoap.class);
> factory.setAddress(url);
> client = (PortalSoap) factory.create();
>
> When using logging interceptor i send a request and receive nothing.
> Which corresponds to the behavior in soap ui when using soap 1.2. Then
> i get content-length 0 respons.
>
> There are two ports in the wsdl
> <wsdl:service name="Portal">
>    <wsdl:port name="PortalSoap" binding="tns:PortalSoap">
>      <soap:address location="http://hidden/Service.asmx"/>
>    </wsdl:port>
>    <wsdl:port name="PortalSoap12" binding="tns:PortalSoap12">
>      <soap12:address location="http://hidden/Service.asmx"/>
>    </wsdl:port>
>  </wsdl:service>
>
> Is there a way to force or check if cxf uses soap 1.1 or 1.2?
>
> --
> Idar
>



-- 
Idar