学习Java6(一) WebServices (5)传递List(失败)
服务端:
1
import
java.util.ArrayList;
2 import java.util.List;
3 import javax.jws.WebMethod;
4 import javax.jws.WebService;
5 import javax.jws.soap.SOAPBinding;
6
7 @WebService(targetNamespace = " http://jdk.study.hermit.org/testlist " )
8 @SOAPBinding(style = SOAPBinding.Style.RPC)
9 public class GetList {
10 @WebMethod
11 public List < UserInfo > sayHello( int n) {
12 List < UserInfo > userlist = new ArrayList < UserInfo > ();
13 for ( int i = 0 ; i < n; i ++ ) {
14 UserInfo user = new UserInfo();
15 user.setId(i);
16 user.setName( " name " + i);
17 userlist.add(user);
18 }
19 return userlist;
20 }
21 }
启动时报错:
2 import java.util.List;
3 import javax.jws.WebMethod;
4 import javax.jws.WebService;
5 import javax.jws.soap.SOAPBinding;
6
7 @WebService(targetNamespace = " http://jdk.study.hermit.org/testlist " )
8 @SOAPBinding(style = SOAPBinding.Style.RPC)
9 public class GetList {
10 @WebMethod
11 public List < UserInfo > sayHello( int n) {
12 List < UserInfo > userlist = new ArrayList < UserInfo > ();
13 for ( int i = 0 ; i < n; i ++ ) {
14 UserInfo user = new UserInfo();
15 user.setId(i);
16 user.setName( " name " + i);
17 userlist.add(user);
18 }
19 return userlist;
20 }
21 }
1
严重: StandardWrapper.Throwable
2 Server Runtime Error: javax.xml.ws.WebServiceException
3 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 269 )
4 at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java: 87 )
5 at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java: 59 )
6 at javax.xml.ws.Endpoint.publish(Endpoint.java: 156 )
7 at WebServiceStarter.init(WebServiceStarter.java: 21 )
8 at javax.servlet.GenericServlet.init(GenericServlet.java: 212 )
9 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java: 1161 )
10 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java: 981 )
11 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java: 4044 )
12 at org.apache.catalina.core.StandardContext.start(StandardContext.java: 4350 )
13 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 760 )
14 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 740 )
15 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 525 )
16 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java: 920 )
17 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java: 883 )
18 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java: 492 )
19 at org.apache.catalina.startup.HostConfig.start(HostConfig.java: 1138 )
20 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 311 )
21 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java: 120 )
22 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 1022 )
23 at org.apache.catalina.core.StandardHost.start(StandardHost.java: 719 )
24 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 1014 )
25 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java: 443 )
26 at org.apache.catalina.core.StandardService.start(StandardService.java: 451 )
27 at org.apache.catalina.core.StandardServer.start(StandardServer.java: 710 )
28 at org.apache.catalina.startup.Catalina.start(Catalina.java: 552 )
29 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
30 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
31 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
32 at java.lang.reflect.Method.invoke(Method.java: 597 )
33 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java: 288 )
34 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java: 413 )
35 Caused by: javax.xml.ws.WebServiceException
36 at com.sun.xml.internal.ws.model.RuntimeModel.createJAXBContext(RuntimeModel.java: 201 )
37 at com.sun.xml.internal.ws.model.RuntimeModel.postProcess(RuntimeModel.java: 79 )
38 at com.sun.xml.internal.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java: 255 )
39 at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java: 170 )
40 at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java: 317 )
41 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 298 )
42 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 263 )
43 31 more
44 Caused by: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
45 java.util.List is an interface , and JAXB can ' t handle interfaces.
46 this problem is related to the following location:
47 at java.util.List
48
49 at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java: 66 )
50 at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java: 361 )
51 at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl. < init > (JAXBContextImpl.java: 217 )
52 at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java: 76 )
53 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
54 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
55 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
56 at java.lang.reflect.Method.invoke(Method.java: 597 )
57 at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java: 76 )
58 at com.sun.xml.internal.ws.model.RuntimeModel$ 1 .run(RuntimeModel.java: 196 )
59 at java.security.AccessController.doPrivileged(Native Method)
60 at com.sun.xml.internal.ws.model.RuntimeModel.createJAXBContext(RuntimeModel.java: 193 )
61 37 more
62 2007 - 1 - 19 9 : 53 : 07 org.apache.catalina.core.StandardContext loadOnStartup
63 严重: Servlet / java6.web.service threw load() exception
64 com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
65 java.util.List is an interface , and JAXB can ' t handle interfaces.
66 this problem is related to the following location:
67 at java.util.List
68
69 at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java: 66 )
70 at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java: 361 )
71 at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl. < init > (JAXBContextImpl.java: 217 )
72 at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java: 76 )
73 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
74 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
75 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
76 at java.lang.reflect.Method.invoke(Method.java: 597 )
77 at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java: 76 )
78 at com.sun.xml.internal.ws.model.RuntimeModel$ 1 .run(RuntimeModel.java: 196 )
79 at java.security.AccessController.doPrivileged(Native Method)
80 at com.sun.xml.internal.ws.model.RuntimeModel.createJAXBContext(RuntimeModel.java: 193 )
81 at com.sun.xml.internal.ws.model.RuntimeModel.postProcess(RuntimeModel.java: 79 )
82 at com.sun.xml.internal.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java: 255 )
83 at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java: 170 )
84 at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java: 317 )
85 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 298 )
86 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 263 )
87 at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java: 87 )
88 at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java: 59 )
89 at javax.xml.ws.Endpoint.publish(Endpoint.java: 156 )
90 at WebServiceStarter.init(WebServiceStarter.java: 21 )
91 at javax.servlet.GenericServlet.init(GenericServlet.java: 212 )
92 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java: 1161 )
93 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java: 981 )
94 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java: 4044 )
95 at org.apache.catalina.core.StandardContext.start(StandardContext.java: 4350 )
96 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 760 )
97 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 740 )
98 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 525 )
99 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java: 920 )
100 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java: 883 )
101 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java: 492 )
102 at org.apache.catalina.startup.HostConfig.start(HostConfig.java: 1138 )
103 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 311 )
104 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java: 120 )
105 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 1022 )
106 at org.apache.catalina.core.StandardHost.start(StandardHost.java: 719 )
107 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 1014 )
108 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java: 443 )
109 at org.apache.catalina.core.StandardService.start(StandardService.java: 451 )
110 at org.apache.catalina.core.StandardServer.start(StandardServer.java: 710 )
111 at org.apache.catalina.startup.Catalina.start(Catalina.java: 552 )
112 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
113 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
114 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
115 at java.lang.reflect.Method.invoke(Method.java: 597 )
116 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java: 288 )
117 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java: 413 )
修改服务端代码:
2 Server Runtime Error: javax.xml.ws.WebServiceException
3 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 269 )
4 at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java: 87 )
5 at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java: 59 )
6 at javax.xml.ws.Endpoint.publish(Endpoint.java: 156 )
7 at WebServiceStarter.init(WebServiceStarter.java: 21 )
8 at javax.servlet.GenericServlet.init(GenericServlet.java: 212 )
9 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java: 1161 )
10 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java: 981 )
11 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java: 4044 )
12 at org.apache.catalina.core.StandardContext.start(StandardContext.java: 4350 )
13 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 760 )
14 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 740 )
15 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 525 )
16 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java: 920 )
17 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java: 883 )
18 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java: 492 )
19 at org.apache.catalina.startup.HostConfig.start(HostConfig.java: 1138 )
20 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 311 )
21 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java: 120 )
22 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 1022 )
23 at org.apache.catalina.core.StandardHost.start(StandardHost.java: 719 )
24 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 1014 )
25 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java: 443 )
26 at org.apache.catalina.core.StandardService.start(StandardService.java: 451 )
27 at org.apache.catalina.core.StandardServer.start(StandardServer.java: 710 )
28 at org.apache.catalina.startup.Catalina.start(Catalina.java: 552 )
29 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
30 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
31 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
32 at java.lang.reflect.Method.invoke(Method.java: 597 )
33 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java: 288 )
34 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java: 413 )
35 Caused by: javax.xml.ws.WebServiceException
36 at com.sun.xml.internal.ws.model.RuntimeModel.createJAXBContext(RuntimeModel.java: 201 )
37 at com.sun.xml.internal.ws.model.RuntimeModel.postProcess(RuntimeModel.java: 79 )
38 at com.sun.xml.internal.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java: 255 )
39 at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java: 170 )
40 at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java: 317 )
41 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 298 )
42 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 263 )
43 31 more
44 Caused by: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
45 java.util.List is an interface , and JAXB can ' t handle interfaces.
46 this problem is related to the following location:
47 at java.util.List
48
49 at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java: 66 )
50 at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java: 361 )
51 at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl. < init > (JAXBContextImpl.java: 217 )
52 at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java: 76 )
53 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
54 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
55 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
56 at java.lang.reflect.Method.invoke(Method.java: 597 )
57 at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java: 76 )
58 at com.sun.xml.internal.ws.model.RuntimeModel$ 1 .run(RuntimeModel.java: 196 )
59 at java.security.AccessController.doPrivileged(Native Method)
60 at com.sun.xml.internal.ws.model.RuntimeModel.createJAXBContext(RuntimeModel.java: 193 )
61 37 more
62 2007 - 1 - 19 9 : 53 : 07 org.apache.catalina.core.StandardContext loadOnStartup
63 严重: Servlet / java6.web.service threw load() exception
64 com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
65 java.util.List is an interface , and JAXB can ' t handle interfaces.
66 this problem is related to the following location:
67 at java.util.List
68
69 at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java: 66 )
70 at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java: 361 )
71 at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl. < init > (JAXBContextImpl.java: 217 )
72 at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java: 76 )
73 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
74 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
75 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
76 at java.lang.reflect.Method.invoke(Method.java: 597 )
77 at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java: 76 )
78 at com.sun.xml.internal.ws.model.RuntimeModel$ 1 .run(RuntimeModel.java: 196 )
79 at java.security.AccessController.doPrivileged(Native Method)
80 at com.sun.xml.internal.ws.model.RuntimeModel.createJAXBContext(RuntimeModel.java: 193 )
81 at com.sun.xml.internal.ws.model.RuntimeModel.postProcess(RuntimeModel.java: 79 )
82 at com.sun.xml.internal.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java: 255 )
83 at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java: 170 )
84 at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java: 317 )
85 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 298 )
86 at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java: 263 )
87 at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java: 87 )
88 at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java: 59 )
89 at javax.xml.ws.Endpoint.publish(Endpoint.java: 156 )
90 at WebServiceStarter.init(WebServiceStarter.java: 21 )
91 at javax.servlet.GenericServlet.init(GenericServlet.java: 212 )
92 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java: 1161 )
93 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java: 981 )
94 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java: 4044 )
95 at org.apache.catalina.core.StandardContext.start(StandardContext.java: 4350 )
96 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 760 )
97 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 740 )
98 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 525 )
99 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java: 920 )
100 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java: 883 )
101 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java: 492 )
102 at org.apache.catalina.startup.HostConfig.start(HostConfig.java: 1138 )
103 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 311 )
104 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java: 120 )
105 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 1022 )
106 at org.apache.catalina.core.StandardHost.start(StandardHost.java: 719 )
107 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 1014 )
108 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java: 443 )
109 at org.apache.catalina.core.StandardService.start(StandardService.java: 451 )
110 at org.apache.catalina.core.StandardServer.start(StandardServer.java: 710 )
111 at org.apache.catalina.startup.Catalina.start(Catalina.java: 552 )
112 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
113 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )
114 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )
115 at java.lang.reflect.Method.invoke(Method.java: 597 )
116 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java: 288 )
117 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java: 413 )
1
import
java.util.ArrayList;
2 import javax.jws.WebMethod;
3 import javax.jws.WebService;
4 import javax.jws.soap.SOAPBinding;
5
6 @WebService(targetNamespace = " http://jdk.study.hermit.org/testlist " )
7 @SOAPBinding(style = SOAPBinding.Style.RPC)
8 public class GetList {
9 @WebMethod
10 public ArrayList < UserInfo > getList( int n) {
11 ArrayList < UserInfo > userlist = new ArrayList < UserInfo > ();
12 for ( int i = 0 ; i < n; i ++ ) {
13 UserInfo user = new UserInfo();
14 user.setId(i);
15 user.setName( " name " + i);
16 userlist.add(user);
17 }
18 return userlist;
19 }
20 }
启动OK
2 import javax.jws.WebMethod;
3 import javax.jws.WebService;
4 import javax.jws.soap.SOAPBinding;
5
6 @WebService(targetNamespace = " http://jdk.study.hermit.org/testlist " )
7 @SOAPBinding(style = SOAPBinding.Style.RPC)
8 public class GetList {
9 @WebMethod
10 public ArrayList < UserInfo > getList( int n) {
11 ArrayList < UserInfo > userlist = new ArrayList < UserInfo > ();
12 for ( int i = 0 ; i < n; i ++ ) {
13 UserInfo user = new UserInfo();
14 user.setId(i);
15 user.setName( " name " + i);
16 userlist.add(user);
17 }
18 return userlist;
19 }
20 }
但是客户端
执行wsimport -keep http://localhost:8080/ListService?wsdl,一共生成了7个文件
AbstractCollection.java
AbstractList.java
ArrayList.java
GetList.java
GetListService.java
ObjectFactory.java
package-info.java
测试代码
1
package
test;
2
3 import static org.junit.Assert.assertNotNull;
4 import org.hermit.study.jdk.testlist.ArrayList;
5 import org.hermit.study.jdk.testlist.GetList;
6 import org.hermit.study.jdk.testlist.GetListService;
7 import org.junit.Test;
8
9 public class TestList {
10 @Test
11 public void getList() {
12 GetListService service = new GetListService();
13 GetList obj = service.getGetListPort();
14
15 ArrayList userlist = obj.getList( 5 );
16 assertNotNull(userlist);
17
18 }
19 }
可以看到ArrayList userlist
=
obj.getList(
5
);中的list是org.hermit.study.jdk.testlist.ArrayList;2
3 import static org.junit.Assert.assertNotNull;
4 import org.hermit.study.jdk.testlist.ArrayList;
5 import org.hermit.study.jdk.testlist.GetList;
6 import org.hermit.study.jdk.testlist.GetListService;
7 import org.junit.Test;
8
9 public class TestList {
10 @Test
11 public void getList() {
12 GetListService service = new GetListService();
13 GetList obj = service.getGetListPort();
14
15 ArrayList userlist = obj.getList( 5 );
16 assertNotNull(userlist);
17
18 }
19 }
而非util的list
郁闷,继续找资料看看怎么传list吧