クライアントがwebserviceプロジェクトを発表し、サーバー側がwebserviceを使用する簡単な例
7532 ワード
クライアントはwebserviceプロジェクトを発表して、サーバー側はwebserviceの簡単な例を使用します.
クライアント
説明:mainを実行して、wsdlアドレスを生成します.
説明:まず、wsmeport方式でローカルエージェントを生成し、アドレスはクライアントで生成されたwsdlアドレスを使って、生成されたコードをプロジェクトにコピーします.サービスのコードを実行していますが、結果を得るためには、クライアントは動作状態を維持します.
クライアント
説明:mainを実行して、wsdlアドレスを生成します.
package com.wsService.third;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
*
* @ClassName MobileService
* @Description , webservice
* 1、 :@webservice
* 2、 :EndPoint
* @author Try_go
* @Date 2017 4 6 10:22:43
* @version 1.0.0
*/
/**
* :
* @WebMethod(operationName="")
* @WebResult(name="")
* @WebParam(name="") @WebService(serviceName=""
* ,targetNamespace="") , ( )
*
* @WebService webservice
* @WebMethod(exclude=true)
*/
@WebService(serviceName = "mobileManager", targetNamespace = "http://tttest.ws.com")
public class MobileService {
@WebMethod(operationName = "getMobileInfo")
public @WebResult(name = "mobile") Mobile getPhoneInfo(@WebParam(name = "osName") String osName) {
Mobile phone = new Mobile();
if (osName.endsWith("android")) {
phone.setName("android");
phone.setOwner("google");
phone.setTotal(70);
} else if (osName.endsWith("ios")) {
phone.setName("ios");
phone.setOwner("apple");
phone.setTotal(20);
} else if (osName.endsWith("windows phone")) {
phone.setName("windows phone");
phone.setOwner("microsoft");
phone.setTotal(10);
}
return phone;
}
@WebMethod(exclude = true)
public void hello(String hello) {
System.out.println(" " + hello);
}
public static void main(String[] args) {
String address = "http://127.0.0.1:8080/ws/MobileService";
/**
* webservice publish ,
*/
Endpoint.publish(address, new MobileService());
System.out.println("wsdl :" + address + "?WSDL");
}
}
エンティティクラスpackage com.wsService.third;
public class Mobile {
private String name; //
private String owner; //
private int total; //
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
}
職務に服する説明:まず、wsmeport方式でローカルエージェントを生成し、アドレスはクライアントで生成されたwsdlアドレスを使って、生成されたコードをプロジェクトにコピーします.サービスのコードを実行していますが、結果を得るためには、クライアントは動作状態を維持します.
package com.ws.third;
/**
*
* @ClassName TestPhone
* @Description third webservice
* @author Try_go
* @Date 2017 4 6 10:52:59
* @version 1.0.0
*/
public class TestMobile {
public static void main(String[] args) {
//
MobileManager ws = new MobileManager();
//
MobileService port = ws.getMobileServicePort();
// ,
Mobile info = port.getMobileInfo("ios");
System.out.println(info.getName() + info.getOwner() + info.getTotal());
}
}