[ 
https://issues.apache.org/jira/browse/TUSCANY-2298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Nash resolved TUSCANY-2298.
---------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: Java-SCA-Next)
                   Java-SCA-1.3

Fixed under r668025 in trunk, and r668020 in the 1.3 branch.

> Incorrect service endpoint when wsdl.service is used with Service webservice 
> binding
> ------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2298
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2298
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Axis Binding Extension, Java SCA Tomcat 
> Integration
>    Affects Versions: Java-SCA-1.2
>            Reporter: Vamsavardhana Reddy
>            Assignee: Simon Nash
>             Fix For: Java-SCA-1.3
>
>
> Web Service Binding Specification Spec v1.00 - Sec 2.1 - lines 38 to 41:
> 38 o Service:
> 39 <WSDL-namespace-URI>#wsdl.service(<service-name>)
> 40 In this case, all the endpoints in the WSDL Service that have equivalent 
> PortTypes with
> 41 the SCA service or reference must be available to the SCA service or 
> reference.
> When wsdlElement is of 'Service' type, service must be available on all ports 
> corresponding to the service.  The following is the wsdl I am using for 
> 'AService':
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions 
> targetNamespace="http://wsbinding.vtest.sca.tuscany.apache.org"; 
> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
> xmlns:ns0="http://wsbinding.vtest.sca.tuscany.apache.org"; 
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
> xmlns:ns1="http://org.apache.axis2/xsd"; 
> xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
> xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
>   <wsdl:types>
>     <xs:schema attributeFormDefault="qualified" 
> elementFormDefault="qualified" 
> targetNamespace="http://wsbinding.vtest.sca.tuscany.apache.org"; 
> xmlns:ns="http://wsbinding.vtest.sca.tuscany.apache.org";>
>             <xs:element name="getGreetings">
>                 <xs:complexType>
>                     <xs:sequence>
>                         <xs:element minOccurs="0" name="param0" 
> nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="getGreetingsResponse">
>                 <xs:complexType>
>                     <xs:sequence>
>                         <xs:element minOccurs="0" name="return" 
> nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>         </xs:schema>
>   </wsdl:types>
>   <wsdl:message name="getGreetingsRequest">
>     <wsdl:part name="parameters" element="ns0:getGreetings">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="getGreetingsResponse">
>     <wsdl:part name="parameters" element="ns0:getGreetingsResponse">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:portType name="AServicePortType">
>     <wsdl:operation name="getGreetings">
>       <wsdl:input message="ns0:getGreetingsRequest" 
> wsaw:Action="urn:getGreetings">
>     </wsdl:input>
>       <wsdl:output message="ns0:getGreetingsResponse" 
> wsaw:Action="urn:getGreetingsResponse">
>     </wsdl:output>
>     </wsdl:operation>
>   </wsdl:portType>
>   <wsdl:binding name="AServiceSOAP12Binding" type="ns0:AServicePortType">
>     <soap12:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="getGreetings">
>       <soap12:operation soapAction="urn:getGreetings" style="document"/>
>       <wsdl:input>
>         <soap12:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output>
>         <soap12:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
>   <wsdl:binding name="AServicePortTypeBinding" type="ns0:AServicePortType">
>     <soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="getGreetings">
>       <soap:operation soapAction=""/>
>       <wsdl:input>
>         <soap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output>
>         <soap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
>   <wsdl:binding name="AServiceHttpBinding" type="ns0:AServicePortType">
>     <http:binding verb="POST"/>
>     <wsdl:operation name="getGreetings">
>       <http:operation location="AService/getGreetings"/>
>       <wsdl:input>
>         <mime:content part="getGreetings" type="text/xml"/>
>       </wsdl:input>
>       <wsdl:output>
>         <mime:content part="getGreetings" type="text/xml"/>
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
>   <wsdl:binding name="AServiceSOAP11Binding" type="ns0:AServicePortType">
>     <soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="getGreetings">
>       <soap:operation soapAction="urn:getGreetings" style="document"/>
>       <wsdl:input>
>         <soap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output>
>         <soap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
>   <wsdl:service name="AServicePortTypeService">
>     <wsdl:port name="AServicePortTypePort" 
> binding="ns0:AServicePortTypeBinding">
>       <soap:address location="http://localhost:8090/AService"/>
>     </wsdl:port>
>   </wsdl:service>
>   <wsdl:service name="AService">
>     <wsdl:port name="AServiceHttpport" binding="ns0:AServiceHttpBinding">
>       <http:address location="http://localhost:8080/AService"/>
>     </wsdl:port>
>     <wsdl:port name="AServiceSOAP12port_http" 
> binding="ns0:AServiceSOAP12Binding">
>       <soap12:address location="http://localhost:8012/AService"/>
>     </wsdl:port>
>     <wsdl:port name="AServiceSOAP11port_http" 
> binding="ns0:AServiceSOAP11Binding">
>       <soap:address location="http://localhost:8011/AService"/>
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> {code}
> The following is my composite file:
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";;
>     targetNamespace="http://vtest";;
>     name="one">
>     <component name="AComponent">
>         <implementation.java
> class="org.apache.tuscany.sca.vtest.wsbinding.impl.AServiceImpl"/>
>         <service name="AService">
>             <binding.ws wsdlElement="
> http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.service(AService)"/>
>         </service>
>     </component>
> </composite>
> {code}
> I am running the service as part of a vtest using "tuscany-host-tomcat".  
> Since I am using wsdl.service in the service binding, I would expect the 
> service to be available at http://localhost:8080/AService,
> http://localhost:8012/AService and http://localhost:8011/AService as 
> specified in the wsdl file.  But, I am noticing that the service is available 
> at http://localhost:8080/AComponent .
> See http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg31222.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to