Martin, thanks a lot! You mean I must use pojo + services.xml for Web seivices like a quickstart[1]? In my example[2], my service classes use only JAX-WS annotations like java_first_jaxws example[3].
And in my understanding, it seems this issue is caused from hard-corded with SOAP 1.1 binding. In my example case, you should get a wsdl generated by axis2 runtime if you access ' http://localhost:8080/axis2-jaxws-soap12-demo-server/services/HelloWorldSoap12?wsdl '. Axis2 uses wsgen(included JDK) to generate the requested wsdl. https://github.com/apache/axis2-java/blob/v1.7.3/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java#L183-L184 and, however, initialize() set binding as SOAP 1.1 regardless of the service classess binding annotation. https://github.com/apache/axis2-java/blob/v1.7.3/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java#L389 so, wsgen arguments will set for SOAP 1.1. https://github.com/apache/axis2-java/blob/v1.7.3/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java#L208-L215 You must set extra arguments like extension, wsdl:Xsoap1.2 If you want to use wsgen for SOAP 1.2. so, wsgen will complain about it. https://github.com/emag/axis2-jaxws-soap12-demo#error-log Can I change this behavior? Thanks. [1] https://github.com/apache/axis2-java/tree/v1.7.3/modules/samples/quickstart [2] https://github.com/emag/axis2-jaxws-soap12-demo [3] https://github.com/apache/axis2-java/tree/v1.7.3/modules/samples/java_first_jaxws On Fri, Jun 17, 2016 at 12:48 AM Martin Gainty <mgai...@hotmail.com> wrote: > > > > ------------------------------ > From: lanabe.lan...@gmail.com > Date: Thu, 16 Jun 2016 13:37:23 +0000 > Subject: Re: Can't use JAX-WS + SOAP 1.2 ? > > To: java-user@axis.apache.org > > Thank you for your reply! > > I changed these parameters to like the below in axis2.xml, but got the > same result... Any idea? > > ``` > <parameter name="disableREST" locked="true">true</parameter> <!-- false > to true --> > <parameter name="disableSOAP12" locked="true">false</parameter> > <parameter name="disableSOAP11" locked="true">true</parameter> <!-- added > --> > ``` > > On Thu, Jun 16, 2016 at 9:33 PM Martin Gainty <mgai...@hotmail.com> wrote: > > > > > ------------------------------ > From: lanabe.lan...@gmail.com > Date: Thu, 16 Jun 2016 10:09:07 +0000 > Subject: Can't use JAX-WS + SOAP 1.2 ? > To: java-user@axis.apache.org > > > Hi, I'm new to here. > > I think Axis2 supports JAX-WS + SOAP 1.2, but apparently the generated > wsdl accessing 'http://some-domain/path/to/<servicename>?wsdl' is always > treated as SOAP 1.1 though the service class added > @BindingType(SOAPBinding.SOAP12HTTP_BINDING). > > the related code is here: > > https://github.com/apache/axis2-java/blob/v1.7.3/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java#L389 > > And I've created a simple reproducer. Am I missing something? > https://github.com/emag/axis2-jaxws-soap12-demo > > MG>your client code: > public class Client { > > public String invokeSayHello(String text) { > HelloWorld_Service service = new HelloWorld_Service(); > > MG>create a valid JAX-WS service using YOUR parameters populated into QName > > MG>javax.xml.ws.Service service = Service.create(new QName( > "http://org/apache/axis2/jaxws/test/OMELEMENT", > "OMElementService")); > > MG>programatically add SOAP1.2 port using SOAP12HTTP_BINDING parms to your > JAXWS service: > > MG>service.addPort( new QName( > "http://org/apache/axis2/jaxws/test/OMELEMENT", > "OMElementPort"), javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING, > " > http://localhost:6060/axis2/services/OMElementProviderService.OMElementProviderPort > "); > //tweak above port parameter to YOUR PORT > > //grab all the configured ports and print them out > MG>java.util.Iterator<javax.xml.namespace.QName> ports = > service.getPorts(); > MG>while(ports.hasNext()) { > MG> javax.xml.namespace.QName QNamePort > port=(javax.xml.namespace.QName)ports.next(); > MG> log.debug("port namespaceURI="+port.getNamespaceURI()); > MG> log.debug("port localPart="+port.getLocalPart()); > MG> log.debug(" port prefix="+port.getPrefix()); > MG> } > > HelloWorld stub = service.getHelloWorldPort(); //service was not > respecting SOAP12HTTP_BINDING > return stub.sayHello(text); > } > > } > > MG>reference org.apache.axis2.jaxws.dispatch.OMElementDispatchTest > MG>do you see SOAP12_HTTP_BINDING Port? > > >