package com.java1234.webservice; import java.util.List; import org.apache.cxf.frontend.ClientProxy; import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; public class Client { public static void main(String[] args) { HelloWorldService service=new HelloWorldService(); HelloWorld helloWorld=service.getHelloWorldPort(); org.apache.cxf.endpoint.Client client= ClientProxy.getClient(helloWorld); client.getInInterceptors().add(new LoggingInInterceptor());//添加 client.getOutInterceptors().add(new LoggingOutInterceptor()); /* *數據只能傳輸List<T>,不能傳輸map,因此map的key放入T中,即可以輕鬆傳輸! */ MyRoleArray arry = helloWorld.getRoles(); List<MyRole> roleList= arry.item; for(int i=0; i<roleList.size();i++){ MyRole my=roleList.get(i); System.out.println(my.key+":"); for(Role r:my.value){ System.out.println(r.getId()+","+r.getRoleName()); } System.out.println("========================"); } } }
運行結果:java
信息: Outbound Message --------------------------- ID: 1 Address: http://192.168.244.1/helloWorld Encoding: UTF-8 Http-Method: POST Content-Type: text/xml Headers: {Accept=[*/*], SOAPAction=[""]} Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:getRoles xmlns:ns2="http://webservice.java1234.com/"/></soap:Body></soap:Envelope> -------------------------------------- 八月 02, 2016 12:20:53 下午 org.apache.cxf.services.HelloWorldService.HelloWorldPort.HelloWorld 信息: Inbound Message ---------------------------- ID: 1 Response-Code: 200 Encoding: UTF-8 Content-Type: text/xml; charset=UTF-8 Headers: {content-type=[text/xml; charset=UTF-8], Date=[Tue, 02 Aug 2016 04:20:53 GMT], Server=[Jetty(9.2.11.v20150529)], transfer-encoding=[chunked]} Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:getRolesResponse xmlns:ns2="http://webservice.java1234.com/"><return><item><key>jack</key><value><id>3</id><roleName>程序員</roleName></value></item><item><key>java1234</key><value><id>1</id><roleName>技術總監</roleName></value><value><id>2</id><roleName>架構師</roleName></value></item></return></ns2:getRolesResponse></soap:Body></soap:Envelope> -------------------------------------- jack: 3,程序員 ======================== java1234: 1,技術總監 2,架構師 ======================== |