You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jeff Zhang (JIRA)" <ji...@apache.org> on 2007/09/21 10:47:50 UTC

[jira] Commented: (CXF-1048) wsdl2java generate wrong portName in impl class

    [ https://issues.apache.org/jira/browse/CXF-1048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12529344 ] 

Jeff Zhang commented on CXF-1048:
---------------------------------

the exception stack:
     [java] Exception in thread "main" org.apache.cxf.service.factory.ServiceCon
structionException: Could not find a matching method for operation {http://apache.org/hello_world_soap_http}sayHi
     [java]     at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:323)
     [java]     at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:182)
     [java]     at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:213)
     [java]     at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:269)
     [java]     at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:145)
     [java]     at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
     [java]     at org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:83)
     [java]     at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:107)
     [java]     at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:147)
     [java]     at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:287)
     [java]     at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:227)
     [java]     at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:179)
     [java]     at org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:74)
     [java]     at javax.xml.ws.Endpoint.publish(Endpoint.java:156)
     [java]     at org.apache.hello_world_soap_http.Greeter_GreeterSoapPort_Server.<init>(Greeter_GreeterSoapPort_Server.java:19)
     [java]     at org.apache.hello_world_soap_http.Greeter_GreeterSoapPort_Server.main(Greeter_GreeterSoapPort_Server.java:23)
     [java] Java Result: 1




> wsdl2java generate wrong portName in impl class
> -----------------------------------------------
>
>                 Key: CXF-1048
>                 URL: https://issues.apache.org/jira/browse/CXF-1048
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>            Reporter: Jeff Zhang
>
> use wsdl2java to generate the codes by wsdl file followed
> In GreeterImpl.java:
> @javax.jws.WebService(name = "Greeter", serviceName = "GreeterSOAPService",
>                       portName = "PingSoapPort",     <== Here is wrong, should be "GreeterSoapPort"
>                       targetNamespace = "http://apache.org/hello_world_soap_http",
>                       wsdlLocation = "file:hello_world.wsdl" ,
> 		      endpointInterface = "org.apache.hello_world_soap_http.Greeter")
> The greeter server can't start successfully
> === wsdl file ===
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
>   Licensed to the Apache Software Foundation (ASF) under one
>   or more contributor license agreements. See the NOTICE file
>   distributed with this work for additional information
>   regarding copyright ownership. The ASF licenses this file
>   to you under the Apache License, Version 2.0 (the
>   "License"); you may not use this file except in compliance
>   with the License. You may obtain a copy of the License at
>  
>   http://www.apache.org/licenses/LICENSE-2.0
>  
>   Unless required by applicable law or agreed to in writing,
>   software distributed under the License is distributed on an
>   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>   KIND, either express or implied. See the License for the
>   specific language governing permissions and limitations
>   under the License.
> -->
> <wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world_soap_http" 
>     xmlns="http://schemas.xmlsoap.org/wsdl/" 
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
>     xmlns:tns="http://apache.org/hello_world_soap_http"
>     xmlns:x1="http://apache.org/hello_world_soap_http/types"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>     <wsdl:types>
>         <schema targetNamespace="http://apache.org/hello_world_soap_http/types" 
>             xmlns="http://www.w3.org/2001/XMLSchema"
> 	    xmlns:tns="http://apache.org/hello_world_soap_http/types"
>             elementFormDefault="qualified">
> 	    <simpleType name="MyStringType">
> 		<restriction base="string">
> 		    <maxLength value="30" />
> 		</restriction>
> 	    </simpleType>
>             <element name="sayHi">
>                 <complexType/>
>             </element>
>             <element name="sayHiResponse">
>                 <complexType>
>                     <sequence>
>                         <element name="responseType" type="string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMe">
>                 <complexType>
>                     <sequence>
>                         <element name="requestType" type="tns:MyStringType"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMeResponse">
>                 <complexType>
>                     <sequence>
>                         <element name="responseType" type="string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMeOneWay">
>                 <complexType>
>                     <sequence>
>                         <element name="requestType" type="string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="pingMe">
>                 <complexType/>
>             </element>
>             <element name="pingMeResponse">
>                 <complexType/>
>             </element>
>             <element name="faultDetail">
>                 <complexType>
>                     <sequence>
>                         <element name="minor" type="short"/>
>                         <element name="major" type="short"/>
>                     </sequence>
>                 </complexType>
>             </element>
>         </schema>
>     </wsdl:types>
>     <wsdl:message name="sayHiRequest">
>         <wsdl:part element="x1:sayHi" name="in"/>
>     </wsdl:message>
>     <wsdl:message name="sayHiResponse">
>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeRequest">
>         <wsdl:part element="x1:greetMe" name="in"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeResponse">
>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeOneWayRequest">
>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>     </wsdl:message>
>     <wsdl:message name="pingMeRequest">
>         <wsdl:part name="in" element="x1:pingMe"/>
>     </wsdl:message>
>     <wsdl:message name="pingMeResponse">
>         <wsdl:part name="out" element="x1:pingMeResponse"/>
>     </wsdl:message>		
>     <wsdl:message name="pingMeFault">
>         <wsdl:part name="faultDetail" element="x1:faultDetail"/>
>     </wsdl:message>
>     
>     <wsdl:portType name="Greeter">
>         
>         <wsdl:operation name="greetMe">
>             <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
>             <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
>         </wsdl:operation>
>         
>         <wsdl:operation name="greetMeOneWay">
>             <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
>         </wsdl:operation>
>     </wsdl:portType>
>     <wsdl:portType name="Ping">
>         <wsdl:operation name="sayHi">
>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>             <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
>         </wsdl:operation>
>         <wsdl:operation name="pingMe">
>             <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
>             <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
>             <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
>         </wsdl:operation> 
>     </wsdl:portType>
>     
>     <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
>         <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>         
>         
>         <wsdl:operation name="greetMe">
>             <soap:operation soapAction="greetMe" style="document"/>
>             <wsdl:input name="greetMeRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output name="greetMeResponse">
>                 <soap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>         
>         <wsdl:operation name="greetMeOneWay">
>             <soap:operation soapAction="greetMeOneWay" style="document"/>
>             <wsdl:input name="greetMeOneWayRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>         </wsdl:operation>
>         
>     </wsdl:binding>
>     
>     <wsdl:binding name="Ping_SOAPBinding" type="tns:Ping">
>         <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>         <wsdl:operation name="sayHi">
>             <soap:operation soapAction="sayHi" style="document"/>
>             <wsdl:input name="sayHiRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output name="sayHiResponse">
>                 <soap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>         <wsdl:operation name="pingMe">
>             <soap:operation soapAction="pingMe" style="document"/>
>             <wsdl:input>
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output>
>                 <soap:body use="literal"/>
>             </wsdl:output>
>             <wsdl:fault name="pingMeFault">
>                 <soap:fault name="pingMeFault" use="literal"/>
>             </wsdl:fault>
>         </wsdl:operation>
>         
>     </wsdl:binding>
>     <wsdl:service name="GreeterSOAPService">
>         <wsdl:port binding="tns:Greeter_SOAPBinding" name="GreeterSoapPort">
>             <soap:address location="http://localhost:9000/SoapContext/SoapPort/Greeter"/>
>         </wsdl:port>
>         <wsdl:port binding="tns:Ping_SOAPBinding" name="PingSoapPort">
>             <soap:address location="http://localhost:9000/SoapContext/SoapPort/Ping"/>
>         </wsdl:port>
>     </wsdl:service>
> </wsdl:definitions>

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