Hi Sehil,

You dont need to have two ports and two bindings. According to your WSDL
both bindings are identicle just a difference in the name so can have it in
the same binding. The following might be what your looking for

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="PersonalDetails"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/
" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
  xmlns:ns="urn:abc:XSD:a" xmlns:ns1="urn:abc:XSD:b"
  targetNamespace="urn:abc:XSD:a">
    <types>
        <xsd:schema targetNamespace="urn:abc:XSD:a"
                    elementFormDefault="qualified"
                    attributeFormDefault="unqualified"
                    xmlns="urn:abc:XSD:b"
                    xmlns:xsd="http://www.w3.org/2001/XMLSchema";
                    xmlns:y="urn:abc:XSD:a">
            <xsd:import namespace="urn:abc:XSD:b"
                        schemaLocation="baseschemas.xsd"/>
            <xsd:element name="DoPersonalDetailsInqRq">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element
                                ref="ns1:PersonalInfoInqRq"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="DoPersonalDetailsInqRs">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element
                                ref="ns1:PersonalInfoInqRs"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="DoPersonalDetailsUpdtRq">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element
                                ref="ns1:PersonalInfoModRq"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="DoPersonalDetailsUpdtRs">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element
                                ref="ns1:PersonalInfoModRs"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:schema>
    </types>

    <message name="DoPersonalDetailsInqRqMsg">
        <part name="request" element="ns:DoPersonalDetailsInqRq"/>
    </message>
    <message name="DoPersonalDetailsInqRsMsg">
        <part name="response" element="ns:DoPersonalDetailsInqRs"/>
    </message>
    <message name="DoPersonalDetailsUpdtRqMsg">
        <part name="request" element="ns:DoPersonalDetailsUpdtRq"/>
    </message>
    <message name="DoPersonalDetailsUpdtRsMsg">
        <part name="response" element="ns:DoPersonalDetailsUpdtRs"/>
    </message>

    <portType name="PersonalDetailsInq_portType">
        <operation name="PersonalDetailsInq">
            <input message="ns:DoPersonalDetailsInqRqMsg"/>
            <output message="ns:DoPersonalDetailsInqRsMsg"/>
        </operation>
        <operation name="PersonalDetailsUpdt">
            <input message="ns:DoPersonalDetailsUpdtRq"/>
            <output message="ns:DoPersonalDetailsUpdtRs"/>
        </operation>
    </portType>

    <binding name="PersonalDetailsInq_binding"
             type="ns:PersonalDetailsInq_portType">
        <soap:binding style="document"
                      transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="PersonalDetailsInq">
            <soap:operation
                    soapAction="
http://tbd/PersonalDetailsSvc/PersonalDetailsInq";
                    style="document"/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
        <operation name="PersonalDetailsUpdt">
            <soap:operation
                    soapAction="
http://tbd/PersonalDetailsSvc/PersonalDetailsUpdt";
                    style="document"/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>

    <service name="PersonalDetailsSvc">
        <documentation></documentation>
        <port name="PersonalDetailsInq_port"
              binding="ns:PersonalDetailsInq_binding">
            <soap:address
                    location="
http://tbd/PersonalDetailsSvc/PersonalDetailsInq"/>
        </port>
    </service>
</definitions>

Thanks,
Keith.

On 8/1/07, Snehil Brajpuriya <[EMAIL PROTECTED]> wrote:
>
> Hi ,
> Can any expert give some guidance here -
>
> I am having this WSDL file. I want to have two operation in one service
> PersonalDetailsSvc.
> When I convert this to Java however only first binding and first port
> definition is getting converted.
> Am I doing something wrong here?
> Should I have only one binding(one binding name) having two port types and
> then only one port?
> What happends when I have two port definition in one service?
>
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions name="PersonalDetails"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/
> "xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:ns="urn:abc:XSD:a" xmlns:ns1="urn:abc:XSD:b"
> targetNamespace="urn:abc:XSD:a">
>         <types>
>                 <xsd:schema targetNamespace="urn:abc:XSD:a"
> elementFormDefault="qualified"
> attributeFormDefault="unqualified"
>     xmlns="urn:abc:XSD:b"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>     xmlns:y="urn:abc:XSD:a">
>                         <xsd:import namespace="urn:abc:XSD:b"
> schemaLocation="baseschemas.xsd"/>
>                 <xsd:element name="DoPersonalDetailsInqRq">
>                                 <xsd:complexType>
>                                         <xsd:sequence>
>                                                 <xsd:element
> ref="ns1:PersonalInfoInqRq" />
>                                         </xsd:sequence>
>                                 </xsd:complexType>
>                         </xsd:element>
>                         <xsd:element name="DoPersonalDetailsInqRs">
>                                 <xsd:complexType>
>                                         <xsd:sequence>
>                                                 <xsd:element
> ref="ns1:PersonalInfoInqRs" />
>                                         </xsd:sequence>
>                                 </xsd:complexType>
>                         </xsd:element>
>
>                         <xsd:element name="DoPersonalDetailsUpdtRq">
>                                 <xsd:complexType>
>                                         <xsd:sequence>
>                                                 <xsd:element
> ref="ns1:PersonalInfoModRq" />
>                                         </xsd:sequence>
>                                 </xsd:complexType>
>                         </xsd:element>
>                         <xsd:element name="DoPersonalDetailsUpdtRs">
>                                 <xsd:complexType>
>                                         <xsd:sequence>
>                                                 <xsd:element
> ref="ns1:PersonalInfoModRs" />
>                                         </xsd:sequence>
>                                 </xsd:complexType>
>                         </xsd:element>
>         </xsd:schema>
>         </types>
>
>   <message name="DoPersonalDetailsInqRqMsg">
>                 <part name="request" element="ns:DoPersonalDetailsInqRq"/>
>         </message>
>         <message name="DoPersonalDetailsInqRsMsg">
>                 <part name="response"
> element="ns:DoPersonalDetailsInqRs"/>
>         </message>
>         <message name="DoPersonalDetailsUpdtRqMsg">
>                 <part name="request"
> element="ns:DoPersonalDetailsUpdtRq"/>
>         </message>
>         <message name="DoPersonalDetailsUpdtRsMsg">
>                 <part name="response"
> element="ns:DoPersonalDetailsUpdtRs"/>
>         </message>
>
> <portType name="PersonalDetailsInq_portType">
>                 <operation name="PersonalDetailsInq">
>                         <input message="ns:DoPersonalDetailsInqRqMsg"/>
>                         <output message="ns:DoPersonalDetailsInqRsMsg"/>
>                 </operation>
> </portType>
>
> <portType name="PersonalDetailsUpdt_portType">
>                 <operation name="PersonalDetailsUpdt">
>                         <input message="ns:DoPersonalDetailsUpdtRq"/>
>                         <output message="ns:DoPersonalDetailsUpdtRs"/>
>                 </operation>
> </portType>
>
>
> <binding name="PersonalDetailsInq_binding"
> type="ns:PersonalDetailsInq_portType">
>   <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>                 <operation name="PersonalDetailsInq">
>                         <soap:operation
> soapAction="http://tbd/PersonalDetailsSvc/PersonalDetailsInq";
> style="document"/>
>                         <input>
>                                 <soap:body use="literal"/>
>                         </input>
>                         <output>
>                                 <soap:body use="literal"/>
>                         </output>
>                 </operation>
>         </binding>
> <binding name="PersonalDetailsUpdt_binding"
> type="ns:PersonalDetailsUpdt_portType">
>   <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>                 <operation name="PersonalDetailsUpdt">
>                         <soap:operation
> soapAction="http://tbd/PersonalDetailsSvc/PersonalDetailsUpdt";
> style="document"/>
>                         <input>
>                                 <soap:body use="literal"/>
>                         </input>
>                         <output>
>                                 <soap:body use="literal"/>
>                         </output>
>                 </operation>
>         </binding>
>
> <service name="PersonalDetailsSvc">
>           <documentation></documentation>
>                 <port name="PersonalDetailsInq_port"
> binding="ns:PersonalDetailsInq_binding">
>                         <soap:address
> location="http://tbd/PersonalDetailsSvc/PersonalDetailsInq"/>
>                 </port>
>                 <port name="PersonalDetailsUpdt_port"
> binding="ns:PersonalDetailsUpdt_binding">
>                         <soap:address
> location="http://tbd/PersonalDetailsSvc/PersonalDetailsUpdt"/>
>                 </port>
> </service>
> </definitions>
>
> Thanks
> Snehil
>
>
> http://www.patni.com
> World-Wide Partnerships. World-Class Solutions.
> _____________________________________________________________________
>
> This e-mail message may contain proprietary, confidential or legally
> privileged information for the sole use of the person or entity to
> whom this message was originally addressed. Any review, e-transmission
> dissemination or other use of or taking of any action in reliance upon
> this information by persons or entities other than the intended
> recipient is prohibited. If you have received this e-mail in error
> kindly delete  this e-mail from your records. If it appears that this
> mail has been forwarded to you without proper authority, please notify
> us immediately at [EMAIL PROTECTED] and delete this mail.
> _____________________________________________________________________
>



-- 
Keith Chapman
WSO2 Inc.
Oxygen for Web Services Developers.
http://wso2.org/

Reply via email to