Hi,

Although WSDL (1.1) allows multiple ports to implement several bindings this
is not supported by Axis2. When Axis2 builds a service using a WSDL it only
looks at a single port and picks the operations corresponding to that
binding.

I think having multiple ports implement several bindings is a bad practice,
(BTW WSDL 2.0 does not let you do this, endpoints of a service need to refer
to the same interface).

Thanks,
Keith.

On Thu, Apr 23, 2009 at 12:38 PM, Hitender <hitender...@gmail.com> wrote:

>
> I have WSDL which have multiple ports
>    <wsdl:service name = "PearsonPersonManagementServiceSync">
>        <wsdl:port name = "PersonManagementServiceSyncSoap" binding =
> "imsp:PersonManagementServiceSyncSoap">
>            <soap:address location =
> "http://imsglobal.org/services/PersonManagementService/"/>
>        </wsdl:port>
>        <wsdl:port name = "PearsonPersonManagementServiceSyncSoap" binding =
> "tns:PearsonPersonManagementServiceSyncSoap">
>            <soap:address location =
> "http://imsglobal.org/services/PersonManagementService/"/>
>        </wsdl:port>
>    </wsdl:service>
>
> And here binding tns:PearsonPersonManagementServiceSyncSoap has only one
> operation which is existsPerson
>
> and imsp:PersonManagementServiceSyncSoap has multiple operations like
> createPerson, updatePerson etc.
>
> Now I have to implement this WSDL and I am planning to have only one
> Service
> CLASS with all the required methods
> existsPerson, createPerson etc.
>
> I am having difficulties in writing services.xml file for this service.
> I have created following services.xml
>
> <service name="PearsonPersonManagementServiceSync" scope="application">
>        <parameter name="useOriginalwsdl">true</parameter>
>        <parameter name="modifyUserWSDLPortAddress">true</parameter>
>        <description>TPI Person Management Service</description>
>        <messageReceivers>
>                <messageReceiver mep="
> http://www.w3.org/2004/08/wsdl/in-only";
> class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
>                <messageReceiver  mep="
> http://www.w3.org/2004/08/wsdl/in-out";
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>        </messageReceivers>
>        <parameter
>
> name="ServiceClass">com.pearson.ebook.tpi_services.pms.PearsonPersonManagementServiceSync</parameter>
> </service>
>
> Here I am getting exception that "There is no port type associated with
> binding" when deploying the aar file.
>
> I have attached services.xml and WSDL File for reference.
> Any help will be appreciated.
>
> Thanks
> Hitender
>
> http://www.nabble.com/file/p23191471/PearsonPersonManagementServiceSync.wsdl
> PearsonPersonManagementServiceSync.wsdl
> http://www.nabble.com/file/p23191471/services.xml services.xml
> --
> View this message in context:
> http://www.nabble.com/Need-Guidance-in-writing-services.xml-for-axis-2-aar-for-WSDL-with-multiple-ports-tp23191471p23191471.html
> Sent from the Axis - User mailing list archive at Nabble.com.
>
>


-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org

Reply via email to