Martin, AFAIK you are neither a committer nor a member of the ASF, so please stop using a signature misrepresenting your relationship with the ASF.
Andreas On Sun, Jun 19, 2016 at 6:12 PM, Martin Gainty <mgai...@hotmail.com> wrote: > Its folks like yourself that make Axis the most reliable WS project hosted > by Apache > > Glad I could help > > Thanks Ianabe! > > Martin Gainty > ______________________________________________ > Member > > _____ _ _____ _ _____ ___ _ > _____ _ _ _ > |_ _| |_ ___ | _ |___ ___ ___| |_ ___ | __|___| _| |_ _ _ _ ___ > ___ ___ | __|___ _ _ ___ _| |___| |_|_|___ ___ > | | | | -_| | | . | .'| _| | -_| |__ | . | _| _| | | | .'| > _| -_| | __| . | | | | . | .'| _| | . | | > |_| |_|_|___| |__|__| _|__,|___|_|_|___| |_____|___|_| |_| > |_____|__,|_| |___| |__| |___|___|_|_|___|__,|_| |_|___|_|_| > |_| > > > > > ________________________________ > From: lanabe.lan...@gmail.com > Date: Sun, 19 Jun 2016 08:43:23 +0000 > > Subject: Re: Can't use JAX-WS + SOAP 1.2 ? > To: java-user@axis.apache.org > > Martin, Thank you for your confirmation. > >> file a jira bug to replace hardcoded SOAP11HTTP_BINDING in the Providers >> and with parameterised Binding > Done! > https://issues.apache.org/jira/browse/AXIS2-5790 > > On Fri, Jun 17, 2016 at 10:44 PM Martin Gainty <mgai...@hotmail.com> wrote: > > MG2>quick comments > > ________________________________ > From: lanabe.lan...@gmail.com > Date: Fri, 17 Jun 2016 05:45:21 +0000 > > Subject: Re: Can't use JAX-WS + SOAP 1.2 ? > To: java-user@axis.apache.org > > Martin, thanks a lot! > > You mean I must use pojo + services.xml for Web seivices like a > quickstart[1]? > MG2>for reliable HTTPBinding to SOAP1.2 use the programmatic approach below > to bind HTTP to SOAP1.2 > > 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. > MG2>with some of the providers unfortunately yes > > 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 > > MG2>annotations can tweak targetNamespace,serviceName,wsdlLocation and > PortName from SOAP12EchoImpl.java: > > @javax.xml.ws.WebServiceProvider(targetNamespace="http://jaxws.axis2.apache.org/proxy/soap12", > serviceName="SOAP12EchoService", > wsdlLocation="META-INF/SOAP12Echo.wsdl", > portName="EchoPort") > @javax.xml.ws.BindingType(SOAPBinding.SOAP12HTTP_BINDING) > @javax.xml.ws.ServiceMode(Mode.MESSAGE) > public class SOAP12EchoImpl implements javax.xml.ws.Provider<String> { > > MG2>Note: you must implement javax.xml.ws.Provider > > Can I change this behavior? Thanks. > > MG2>all Axis2 functionality routes to axis2 Impl class that *must* > implement Provider > MG2>*some* of the providers do have hardcoded SOAP11HTTP_BINDING e.g. > >>grep -S "HTTP11_BINDING" *Provider.java > .\addressing\AddressingProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > .\jaxb\JAXBProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > .\soapmsg\SoapMessageProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > .\soapmsgcheckmtom\SoapMessageCheckMTOMProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > .\soapmsgmu\SoapMessageMUProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > .\soapmsgreturnnull\SoapMessageNullProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > .\sourcemsg\SourceMessageProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > .\string\StringProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > .\stringmsg\StringMessageProvider.java:@BindingType(SOAPBinding.SOAP11HTTP_BINDING) > > MG2>file a jira bug to replace hardcoded SOAP11HTTP_BINDING in the Providers > and with parameterised Binding > > https://issues.apache.org/jira/browse/axis2/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel > > > [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 > > MG2>Many Thanks Ianabe for catching this > > > 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? > > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org For additional commands, e-mail: java-user-h...@axis.apache.org