WSDL2JAVA 生成客户端 调用.net的web Service的问题
我用WSDL2JAVA生成了一个客户端,调用.net的web Service。
URL to WSDL 是:http://localhost/WebService3/Service1.asmx?wsdl
问题是,在Eclipse下自动生成了很多类。
以HelloWorld()方法为例,生成了下面的类:
_HelloWorld.java
_HelloWorldResponse.java
Service1.java
Service1Locator.java
Service1Soap.java
Service1SoapStub.java
而且,类的数目会随着方法的数目增长。
但是我看的例子上,只生成了4个类。
怎么回事?
问题点数:100、回复次数:13Top
1 楼usabcd(9号公路上的3名共军)回复于 2005-05-13 10:06:10 得分 30
还真没碰到这个情况。看看你的WSDL长什么样?Top
2 楼loku(sasuke)回复于 2005-05-13 10:19:40 得分 0
下边是wsdl
<?xml version="1.0" encoding="utf-8" ?>
- <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://tempuri.org/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
- <s:element name="HelloWorld">
<s:complexType />
</s:element>
- <s:element name="HelloWorldResponse">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
- <message name="HelloWorldSoapIn">
<part name="parameters" element="s0:HelloWorld" />
</message>
- <message name="HelloWorldSoapOut">
<part name="parameters" element="s0:HelloWorldResponse" />
</message>
- <portType name="Service1Soap">
+ <operation name="HelloWorld">
<input message="s0:HelloWorldSoapIn" />
<output message="s0:HelloWorldSoapOut" />
</operation>
</portType>
- <binding name="Service1Soap" type="s0:Service1Soap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="HelloWorld">
<soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="Service1">
- <port name="Service1Soap" binding="s0:Service1Soap">
<soap:address location="http://localhost/WebService3/Service1.asmx" />
</port>
</service>
</definitions>Top
3 楼usabcd(9号公路上的3名共军)回复于 2005-05-13 10:45:27 得分 0
没有啊,挺好的,生成出来就一个helloWork方法啊。
不知道你怎么用的。Top
4 楼loku(sasuke)回复于 2005-05-13 11:33:03 得分 0
你使用上边的wsdl吗
难道我的WSDL2JAVA有问题?Top
5 楼usabcd(9号公路上的3名共军)回复于 2005-05-13 11:37:10 得分 0
当然是,生成一个helloWorld方法,没参数,返回字符串。
不知道你怎么用的。Top
6 楼xu_xinyu(雪候鸟)回复于 2005-05-13 11:41:52 得分 0
Service1.java
Service1Locator.java
Service1Soap.java
Service1SoapStub.java
生成这四个类就足够了。
Service1Locator用于定位服务,通过Service1SoapStub调用服务就可以了。Top
7 楼loku(sasuke)回复于 2005-05-13 11:49:03 得分 0
我也觉得下边四个类就够了
但不知为什么还生成了多余的两个类
好像是对应wsdl文件中的HelloWorld和HelloWorldResponse的
我有rpwt?Top
8 楼legumer(纳豆人)回复于 2005-05-17 14:22:38 得分 30
那其中的方法怎么调用呢?Top
9 楼loku(sasuke)回复于 2005-05-19 17:06:37 得分 0
问题没有解决
决定不用那个插件了
在控制台下面 用axis自带的类生成Top
10 楼xu_xinyu(雪候鸟)回复于 2005-05-20 09:24:07 得分 0
我用lomboz生成相关的类效果还不错呀。Top
11 楼loku(sasuke)回复于 2005-05-24 16:49:14 得分 0
楼上的兄台还在吗
我想问一下 用lomboz怎么生成Top
12 楼xu_xinyu(雪候鸟)回复于 2005-05-24 17:18:09 得分 40
用new/java/Apache Axis Wizards就可以了。
按照向导的提示来就行。Top
13 楼loku(sasuke)回复于 2005-07-04 17:20:16 得分 0
美国国庆节 发钱Top




