我有一个 WSDL
RequestService (wsdl)
getRequest
createRequest
getRequest
现在用 myedlipse 创建了web services client现在我想用项目中的一个index.jsp调用这个wsdl进行测试,请教下,这么用啊?
RequestService (wsdl)
getRequest
createRequest
getRequest
现在用 myedlipse 创建了web services client现在我想用项目中的一个index.jsp调用这个wsdl进行测试,请教下,这么用啊?
web services client 生成后 自动创建如下代码:package cn.com.weaver.ws.workflow.request.wsdl;import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import cn.com.weaver.ws.workflow.request.CreateRequest;
import cn.com.weaver.ws.workflow.request.CreateRequestResponse;
import cn.com.weaver.ws.workflow.request.GetRequest;
import cn.com.weaver.ws.workflow.request.GetRequestResponse;@WebService(name = "RequestService", targetNamespace = "http://www.weaver.com.cn/ws/workflow/request/wsdl")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface RequestService { @WebMethod(operationName = "createRequest", action = "")
@WebResult(name = "createRequestResponse", targetNamespace = "http://www.weaver.com.cn/ws/workflow/request")
public CreateRequestResponse createRequest(
@WebParam(name = "createRequest", targetNamespace = "http://www.weaver.com.cn/ws/workflow/request")
CreateRequest createRequest); @WebMethod(operationName = "getRequest", action = "")
@WebResult(name = "getRequestResponse", targetNamespace = "http://www.weaver.com.cn/ws/workflow/request")
public GetRequestResponse getRequest(
@WebParam(name = "getRequest", targetNamespace = "http://www.weaver.com.cn/ws/workflow/request")
GetRequest getRequest);}
http://localhost/ws/RequestService?wsdl 下我的 WSDL 文件: <?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://www.weaver.com.cn/ws/workflow/request/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.weaver.com.cn/ws/workflow/request/wsdl" xmlns:types="http://www.weaver.com.cn/ws/workflow/request" xmlns:apachesoap="http://xml.apache.org/xml-soap">
- <wsdl:types>
- <xs:schema targetNamespace="http://www.weaver.com.cn/ws/workflow/request" elementFormDefault="qualified" xmlns="http://www.weaver.com.cn/ws/workflow/request" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="createRequest">
- <xs:complexType>
- <xs:sequence>
<xs:element ref="RequestInfo" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="createRequestResponse">
+ <xs:complexType>
- <xs:sequence>
<xs:element name="createRequestReturn" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getRequest">
- <xs:complexType>
- <xs:sequence>
<xs:element name="requestId" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getRequestResponse">
- <xs:complexType>
- <xs:sequence>
<xs:element ref="RequestInfo" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="RequestInfo">
- <xs:complexType>
- <xs:sequence>
<xs:element ref="MainTableInfo" />
<xs:element ref="DetailTableInfo" minOccurs="0" />
<xs:element ref="RequestLog" minOccurs="0" />
</xs:sequence>
<xs:attribute name="workflowid" use="required" type="xs:string" />
<xs:attribute name="requestid" use="optional" type="xs:string" />
<xs:attribute name="creatorid" use="optional" type="xs:string" />
<xs:attribute name="description" use="optional" type="xs:string" />
<xs:attribute name="requestlevel" use="optional" type="xs:string" />
<xs:attribute name="remindtype" use="optional" type="xs:string" />
<xs:attribute name="hostid" use="optional" type="xs:string" />
</xs:complexType>
</xs:element>
- <xs:element name="Cell">
- <xs:complexType>
<xs:attribute name="name" use="required" type="xs:string" />
<xs:attribute name="type" use="optional" type="xs:string" />
<xs:attribute name="value" use="required" type="xs:string" />
</xs:complexType>
</xs:element>
- <xs:element name="DetailTable">
- <xs:complexType>
- <xs:sequence>
<xs:element ref="Row" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="id" use="required" type="xs:string" />
</xs:complexType>
</xs:element>
- <xs:element name="DetailTableInfo">
- <xs:complexType>
- <xs:sequence>
<xs:element ref="DetailTable" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="MainTableInfo">
- <xs:complexType>
- <xs:sequence>
<xs:element ref="Property" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="Property">
- <xs:complexType>
<xs:attribute name="name" use="required" type="xs:string" />
<xs:attribute name="type" use="optional" type="xs:string" />
<xs:attribute name="value" use="required" type="xs:string" />
</xs:complexType>
</xs:element>
- <xs:element name="Row">
- <xs:complexType>
- <xs:sequence>
<xs:element ref="Cell" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="id" use="required" type="xs:string" />
</xs:complexType>
</xs:element>
- <xs:element name="RequestLog">
- <xs:complexType>
- <xs:sequence>
<xs:element ref="Log" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="Log">
- <xs:complexType>
<xs:attribute name="id" use="required" type="xs:string" />
<xs:attribute name="node" use="optional" type="xs:string" />
<xs:attribute name="comment" use="optional" type="xs:string" />
<xs:attribute name="operator" use="optional" type="xs:string" />
<xs:attribute name="opdate" use="optional" type="xs:string" />
<xs:attribute name="optime" use="optional" type="xs:string" />
<xs:attribute name="optype" use="optional" type="xs:string" />
<xs:attribute name="receiver" use="optional" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
- <wsdl:message name="createRequestResponse">
<wsdl:part name="parameters" element="types:createRequestResponse" />
</wsdl:message>
- <wsdl:message name="createRequestRequest">
<wsdl:part name="parameters" element="types:createRequest" />
</wsdl:message>
- <wsdl:message name="getRequestResponse">
<wsdl:part name="parameters" element="types:getRequestResponse" />
</wsdl:message>
- <wsdl:message name="getRequestRequest">
<wsdl:part name="parameters" element="types:getRequest" />
</wsdl:message>
- <wsdl:portType name="RequestService">
- <wsdl:operation name="createRequest">
<wsdl:input name="createRequestRequest" message="tns:createRequestRequest" />
<wsdl:output name="createRequestResponse" message="tns:createRequestResponse" />
</wsdl:operation>
- <wsdl:operation name="getRequest">
<wsdl:input name="getRequestRequest" message="tns:getRequestRequest" />
<wsdl:output name="getRequestResponse" message="tns:getRequestResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="RequestServiceSoapBinding" type="tns:RequestService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="createRequest">
<wsdlsoap:operation />
- <wsdl:input>
<wsdlsoap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getRequest">
<wsdlsoap:operation />
- <wsdl:input>
<wsdlsoap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="RequestServiceService">
- <wsdl:port name="RequestService" binding="tns:RequestServiceSoapBinding">
<wsdlsoap:address location="http://oademo.itg.net/ws/RequestService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
public static void main(String[] args) {
RequestServiceServiceClient client = new RequestServiceServiceClient();
//create a default service endpoint
RequestService service = client.getRequestService();
//add new
CreateRequest createRequest = new CreateRequest();
RequestInfo value = new RequestInfo();
// value.
value.setWorkflowid("90");
value.setRequestid("8000");知道这么建立了 ,但是 有个类不知道如何创建对象:package cn.com.weaver.ws.workflow.request;import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"property"
})
@XmlRootElement(name = "MainTableInfo")
public class MainTableInfo { @XmlElement(name = "Property", required = true)
protected List<Property> property;
public List<Property> getProperty() {
if (property == null) {
property = new ArrayList<Property>();
}
return this.property;
}}