Aw: Re: Soap Service with three endpoints

[email protected]
Newsgroups gmane.comp.java.openejb.user
Message-ID <trinity-d1dedf6d-b709-4393-ade0-a27351135d1f-1673620689618__21113.2392099657$1673620747$gmane$org@3c-app-webde-bs03>
Hi,

I attached a part of the original WSDL from Axis2 where I think it's interesting [1]. I removed the types because they are generated with cxfPlugin and I hope I did not make to much mistakes by pseudonymisation.

More complex and at the moment and not understandable for me is the sections of wsdl:service, wsdl:binding, and wsdl:portType.

So far as I understand should the server open three endpoints which leads to the same webservice.

Further I added the current WSDL generated with JAX-WS and CXF 3.4.5 [2]

@Stateless
@WebService(
        serviceName = "MyWebService ",
        portName = "MyPort",
        targetNamespace = "http://example.com/MyWebService /",
        endpointInterface = "com.example.MyInterface")
public class MyWebService implements MyInterface {

Maybe you can give me a hint how I can reacht it with the libs of TomEE 8.0.13.

Thanks,
Markus

[1]
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:example="http://example.com/"
                  xmlns:ns1="http://org.apache.axis2/xsd"
                  xmlns:ns="http://example.com/myWebService/"
                  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema"
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                  targetNamespace="http://example.com/myWebService/">
    <wsdl:types>
        [...]
    </wsdl:types>
    <wsdl:message name="logoutRequest">
        <wsdl:part name="parameters" element="ns:logout"/>
    </wsdl:message>
    <wsdl:message name="logoutResponse">
        <wsdl:part name="parameters" element="ns:logoutResponse"/>
    </wsdl:message>
    <wsdl:message name="logoutIPAddressHeader">
        <wsdl:part name="ipAddress" element="example:IPAddress"/>
    </wsdl:message>
    <wsdl:message name="loginRequest">
        <wsdl:part name="parameters" element="ns:login"/>
    </wsdl:message>
    <wsdl:message name="loginResponse">
        <wsdl:part name="parameters" element="ns:loginResponse"/>
    </wsdl:message>
    <wsdl:message name="loginIPAddressHeader">
        <wsdl:part name="ipAddress" element="example:IPAddress"/>
    </wsdl:message>
    <wsdl:portType name="MyInterface">
        <wsdl:operation name="logout">
            <wsdl:input message="ns:logoutRequest" wsaw:Action="urn:logout"/>
            <wsdl:output message="ns:logoutResponse" wsaw:Action="urn:logoutResponse"/>
        </wsdl:operation>
        <wsdl:operation name="login">
            <wsdl:input message="ns:loginRequest" wsaw:Action="urn:login"/>
            <wsdl:output message="ns:loginResponse" wsaw:Action="urn:loginResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="MyWebServiceSOAP11Binding" type="ns:MyInterface">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="logout">
            <soap:operation soapAction="urn:logout" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
                <soap:header message="ns:logoutIPAddressHeader" part="ipAddress" use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="login">
            <soap:operation soapAction="urn:login" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
                <soap:header message="ns:loginIPAddressHeader" part="ipAddress" use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="MyWebServiceHttpBinding" type="ns:MyInterface">
        <http:binding verb="POST"/>
        <wsdl:operation name="logout">
            <http:operation location="MyWebService/logout"/>
            <wsdl:input>
                <mime:content part="parameters" type="text/xml"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content part="parameters" type="text/xml"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="login">
            <http:operation location="MyWebService/login"/>
            <wsdl:input>
                <mime:content part="parameters" type="text/xml"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content part="parameters" type="text/xml"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="MyWebService">
        <wsdl:port name="MyWebServiceSOAP11port_http" binding="ns:MyWebServiceSOAP11Binding">
            <soap:address location="http://localhost:8080/axis2/webservices/MyWebService"/>
        </wsdl:port>
        <wsdl:port name="MyWebServiceHttpport" binding="ns:MyWebServiceHttpBinding">
            <http:address location="http://localhost:8080/axis2/webservices/MyWebService"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>


<wsdl:definitions name="MyWebService" targetNamespace="http://example.com/myWebService">
    <wsdl:types>
        [...]
    </wsdl:types>
    <wsdl:message name="logout">
        <wsdl:part element="tns:logout" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="logoutResponse">
        <wsdl:part element="tns:logoutResponse" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="loginResponse">
        <wsdl:part element="tns:loginResponse" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="login">
        <wsdl:part element="tns:login" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:portType name="MyInterface">
        <wsdl:operation name="logout">
            <wsdl:input message="tns:logout" name="logout" wsam:Action="urn:logout" wsaw:Action="urn:logout"> </wsdl:input>
            <wsdl:output message="tns:logoutResponse" name="logoutResponse" wsam:Action="urn:logoutResponse" wsaw:Action="urn:logoutResponse"> </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="login">
            <wsdl:input message="tns:login" name="login" wsam:Action="urn:login" wsaw:Action="urn:login"> </wsdl:input>
            <wsdl:output message="tns:loginResponse" name="loginResponse" wsam:Action="urn:loginResponse" wsaw:Action="urn:loginResponse"> </wsdl:output>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="MyWebServiceSoapBinding" type="tns:MyInterface">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="logout">
            <soap:operation soapAction="urn:logout" style="document"/>
            <wsdl:input name="logout">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="logoutResponse">
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="login">
            <soap:operation soapAction="urn:login" style="document"/>
            <wsdl:input name="login">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="loginResponse">
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="MyWebService">
        <wsdl:port binding="tns:MyWebServiceSoapBinding" name="MyPort">
            <http:address location="http://localhost:8080/axis2/webservices/MyWebService"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

> Gesendet: Mittwoch, 11. Januar 2023 um 22:19 Uhr
> Von: "Jean-Louis Monteiro" <[email protected]>
> An: [email protected]
> Betreff: Re: Soap Service with three endpoints
>
> Would you be able to provide a small exemple to reproduce with the expected
> WSDL?
> That would help debug and understand on our side.
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>
>
> On Wed, Jan 11, 2023 at 3:11 PM <[email protected]> wrote:
>
> > Hi guys,
> >
> > in our company we changed the SOAP implmementation from Axis2 to CXF.
> >
> > We are using the CXF vesion which is used inside the Tomee 8.0.14.
> >
> > At the moment we have the problem that the AXIS WSDL indicated three
> > endpoints where was mentioned as binding the the WSDL.
> >
> > http://www.example.com/a?wsdl
> >
> > http://www.example.com/a
> >
> > http://www.example.com/a.aSOAP11port_http
> >
> > http://www.example.com/a.aHttpport
> >
> > <wsdl:service name="WS">
> > <wsdl:port name="WSSOAP11port_http" binding="ns:aBinding">
> > <soap:address location="http://localhost:8080/a.SOAP11port_http/"/>
> > </wsdl:port>
> > <wsdl:port name="WSHttpport" binding="ns:aHttpBinding">
> > <http:address location="http://localhost:8080/a.Httpport/"/>
> > </wsdl:port>
> > </wsdl:service>
> >
> > Since we using JAX-Ws as well we see only one URL and this is even
> > mentioned inside the WSDL.
> >
> > @WebService(portName = "a")
> >
> > http://www.example.com/a?wsdl
> >
> > http://www.example.com/a
> >
> > <wsdl:service name="WS">
> > <wsdl:port binding="tns:WsBinding" name="a">
> > <soap:address location="http://localhost:8080/a"/>
> > </wsdl:port>
> > </wsdl:service>
> >
> > Do I have any change to get the WSDL as before?
> > If not do I have a change to get three endpoints with Tomee 8 which are
> > going to the same webservice?
> >
> > Thanks,
> > Markus
> >
> >
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.