[オリジナル]webserviceノート(小結)axis 2統合spring伝達対象


私たちはやはりwebserviceノート(小結)<一>の項目を使います.
1、サーバー側にPersonクラスを設立し、内容は以下の通りである.
package sample.service;
//     java.io.Serializable  
public class Person implements java.io.Serializable{

	private String name ;
	
	private String age;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}
}

ServiceServerクラスに次の方法を追加します.
package sample.service;

public class ServiceServerImpl implements ServiceServer {
//  sayHello   
	public String sayHello(String name);

//  getperson   
	public Person getPerson(Person person);


}

対応するインプリメンテーションクラスに次のように追加します.

package sample.service;

public class ServiceServerImpl implements ServiceServer {
//  sayHello   
	public String sayHello(String name) {
		
		return "hello"+name;
	}
//  getperson   ,  Person  
	public Person getPerson(Person person) {
		
		return person;
	}

}

サービス.xmlで追加
	<operation name="getPerson">
			<messageReceiver
				class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
	</operation>

2、wsdl方式で自動的にクライアントを生成する:
3、ServiceClientクライアントでServiceClientPersonクラスを創立し、内容は以下の通りである.
package sample.service;

public class ServiceClientPerson {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws java.lang.Exception {

		HelloWorldStub stub = new HelloWorldStub();
//		  Person  
		HelloWorldStub.Person person = new HelloWorldStub.Person();
		person.setAge("23");
		person.setName("  ");
//		          
		HelloWorldStub.GetPerson getPerson = new HelloWorldStub.GetPerson();
		getPerson.setPerson(person);
//		  getPerson         
		HelloWorldStub.GetPersonResponse response = stub.getPerson(getPerson);
		
		System.out.println("age="+ response.get_return().getAge());
		System.out.println("name="+ response.get_return().getName());
		
	}

}

4、運転後にconsoleで印刷する
age=23
name=張三
説明呼び出しに成功しました
作成したPersonはjava.io.Serializableインタフェースを実装しなければならないことに注意してください.
問題があればグループを追加できます:84242283(webservice交流学習)