java service client,webservice client java

场景:java WebService 中的。Client报错了,求大神拯救

java WebService 中的。。Client报错了,,求大神解救

接口:

package test;

import javax.jws.WebService;

@WebService

public interface HelloWorld {

public String sayHello(String name);

}

实现类:

package test;

import javax.jws.WebService;

@WebService

public class HelloWorldImpl implements HelloWorld {

public String sayHello(String name) {

System.out.println("Say Hello is called");

return "--hello--"+name;

}

}

调用:

package test;

import org.apache.cxf.endpoint.Server;

import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

public class MainServer {

/**

* @param args

*/

public static void main(String[] args) {

JaxWsServerFactoryBean factory =new JaxWsServerFactoryBean();

factory.setServiceClass(HelloWorldImpl.class);

factory.setAddress("http://localhost:8080/HelloWorld");

Server server =factory.create();

server.start();

}

最后这个Client ( 报错了。。。。):

package test;

import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

public class HelloWorldClient {

/**

* @param args

*/

public static void main(String[] args) throws Exception{

// TODO Auto-generated method stub

JaxWsServerFactoryBean factory =new JaxWsServerFactoryBean();

factory.setAddress("http://localhost:8080/HelloWorld");

factory.setServiceClass(HelloWorld.class);

HelloWorld helloworld =(HelloWorld)factory.create();

System.out.println(helloworld.sayHello("AA"));

}

}

报的错是:

Exception in thread "main" java.lang.ClassCastException: org.apache.cxf.endpoint.ServerImpl cannot be cast to test.HelloWorld

at test.HelloWorldClient.main(HelloWorldClient.java:16)

WebService

异常

服务器

java

分享到:

------解决方案--------------------

HelloWorld helloworld =(HelloWorld)factory.create();红色返回的Server类型的。

------解决方案--------------------

你的那个我没用过//这个是用cxf 客户端访问cxf部署的webservice服务

//千万记住,访问cxf的webservice必须加上namespace ,否则通不过

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();

org.apache.cxf.endpoint.Client client = dcf.createClient("http://localhost:8080/facelook/services/facelookWebService?wsdl");

//url为调用webService的wsdl地址

QName name=new QName("http://server.webservice.facelook.com/","getAlbumList");

//namespace是命名空间,methodName是方法名

String xmlStr = "<?xml  version=\"1.0\" encoding=\"UTF-8\"?>"

+ "  "

+ " "

+ "  家"

+ ""

+ ""

+ ""

+ "  "

+ " ";

//paramvalue为参数值

Object[] objects=client.invoke(name,xmlStr);

//调用web Service//输出调用结果

System.out.println(objects[0].toString());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值