这样的 我在myEclipse中建了两个工程 一个普通的java工程 一个是web工程,部署在tomcat中, java工程里面一个接口,一个实现类,一个发布类,代码如下
IHelloWorld接口
package server;
import javax.jws.WebParam;
import javax.jws.WebService;
public interface IHelloWorld {
//加入WebParam注解,以保证xml文件中参数名字的正确性
String sayHi(@WebParam(name="text") String text);
}
HelloWorldImpl 实现类
package serverImpl;
import javax.jws.WebService;
import server.IHelloWorld;
@WebService (endpointInterface = "server.IHelloWorld", serviceName = "HelloWorld")
public class HelloWorldImpl implements IHelloWorld {
public String sayHi(String text) {
System.out.println("sayHi called");
return "Hello " + text;
}
}
serviceTest发布类
package run;
import javax.xml.ws.Endpoint;
import serverImpl.HelloWorldImpl;
public class ServiceTest {
protected ServiceTest() throws Exception {
// START SNIPPET: publish
System.out.println("Starting Server");
HelloWorldImpl implementor = new HelloWorldImpl();
String address = "http://localhost:9000/helloWorld";
Endpoint.publish(address, implementor);
// END SNIPPET: publish
}
public static void main(String args[]) throws Exception {
new ServiceTest();
System.out.println("Server ready...");
Thread.sleep(5 * 60 * 1000);
System.out.println("Server exiting");
System.exit(0);
}
}
在新建的web工程里面,把java工程中的IHelloWorld接口连包一起考过去,然后在index.jsp中写上一段java代码 如下:
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setAddress("http://localhost:9000/helloWorld");
factory.getServiceFactory().setDataBinding(new AegisDatabinding());
IHelloWorld ser=factory.create(IHelloWorld.class);
ser.sayHi("hello~~-v-");
运行发布类 java工程中的ServicTest(发布5分钟),然后运行tomcat访问web工程中的index.jsp页面,报错如下~~自己找了好久也没找到解决办法,请问大家能够告诉我哪里做错了么?
Interceptor for {http://serverImpl/}HelloWorld#{http://server/}sayHi has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: 意外的元素 (uri:"http://server/", local:"arg0")。所需元素为<{}text>
这客服端默认生成的请求参数是arg0,不是text,你用spoaui看下就知道了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。