cod*_*tty 23 java soap web-services
我什么都不知道Web服务,我只是想调用一些由wsdl描述的"isAlive"服务.
在我看来这似乎不应该超过2-5行代码,但我似乎找不到任何东西,只有大量长的例子涉及第三方包等.
有人有什么想法吗?如果它总是被认为是长的可能是一个很好的解释,为什么它必须如此复杂也将不胜感激.我正在使用Eclipse,而wsdl是SOAP.
JDK 6附带了jax-ws,它是为Web服务开发客户端所需的一切.
我无法找到一些简单的例子来发布,但请从https://jax-ws.dev.java.net/开始
编辑:这是一个简单的例子 - 这个Web服务的客户端:http://xmethods.com/ve2/ViewListing.po?key = 427565
C:\temp> md generated
C:\temp>"c:\Program Files\Java\jdk1.6.0_17"\bin\wsimport -keep -d generated http://www50.brinkster.com/vbfacileinpt/np.asmx?wsdl
Run Code Online (Sandbox Code Playgroud)
创建PrimeClient.java,如下所示:
import javax.xml.ws.WebServiceRef;
import com.microsoft.webservices.*;
//the above namespace is from the generated code from the wsdl.
public class PrimeClient {
//Cant get this to work.. @WebServiceRef(wsdlLocation="http://www50.brinkster.com/vbfacileinpt/np.asmx?wsdl")
static PrimeNumbers service;
public static void main(String[] args) {
try {
service = new PrimeNumbers();
PrimeClient client = new PrimeClient();
client.doTest(args);
} catch(Exception e) {
e.printStackTrace();
}
}
public void doTest(String[] args) {
try {
System.out.println("Retrieving the port from the following service: " + service);
PrimeNumbersSoap pm = service.getPrimeNumbersSoap();
System.out.println("Invoking the getPrimeNumbersSoap operation ");
System.out.println(pm.getPrimeNumbers(100));
} catch(Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
编译并运行:
C:\temp>"c:\Program Files\Java\jdk1.6.0_17"\bin\javac -cp generated PrimeClient.java
C:\temp>"c:\Program Files\Java\jdk1.6.0_17"\bin\java -cp .;generated PrimeClient
Retrieving the port from the following service: com.microsoft.webservices.PrimeN
umbers@19b5393
Invoking the getPrimeNumbersSoap operation
1,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
Run Code Online (Sandbox Code Playgroud)
有一些 IDE 插件可以生成为您使用 Web 服务所需的代码。
插件生成基本方法后,您只需调用 Web 服务即可:
TransportServiceSoap service = new TransportServiceLocator().getTransportServiceSoap();
service.getCities();
Run Code Online (Sandbox Code Playgroud)
看看http://urbas.tk/index.php/2009/02/20/eclipse-plug-in-as-a-web-service-client/
| 归档时间: |
|
| 查看次数: |
81648 次 |
| 最近记录: |