Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Use java2wsdl to generate wsdl for following class , schema elment "person" in wrong targetNamespace.
-----------Class Person--------------------------
package common.test;
public class Person {
String name;
public void setName(String name)
{ this.name = name; }public String getName()
{ return name; }}
------Class Greeter-------
package demo.test;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import common.test.Person;
@WebService(name = "Greeter", targetNamespace = "http://test.demo/")
public interface Greeter
-----------Wrong wsdl ---------------
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="GreeterService" targetNamespace="http://test.demo/" xmlns:ns1="http://test.demo/" xmlns:xsd="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 xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://test.demo/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://test.demo/">
<xs:complexType name="person">
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="sayHi" type="sayHi"/>
<xs:complexType name="sayHi">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="person"/>
</xs:sequence>
</xs:complexType>
<xs:element name="sayHiResponse" type="sayHiResponse"/>
<xs:complexType name="sayHiResponse">
<xs:sequence/>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="sayHiResponse">
<wsdl:part name="parameters" element="ns1:sayHiResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sayHi">
<wsdl:part name="parameters" element="ns1:sayHi">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="Greeter">
<wsdl:operation name="sayHi">
<wsdl:input name="sayHi" message="ns1:sayHi">
</wsdl:input>
<wsdl:output name="sayHiResponse" message="ns1:sayHiResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GreeterServiceSoapBinding" type="ns1:Greeter">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sayHi">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="sayHi">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="sayHiResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GreeterService">
<wsdl:port name="GreeterPort" binding="ns1:GreeterServiceSoapBinding">
<soap:address location="http://localhost:9090/hello"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>