`
wangcheng
  • 浏览: 1463449 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

在JBoss中调用WebService出org.jboss.ws.WSException

    博客分类:
  • java
阅读更多

使用jboss-4.2.2.GA,在调用remote web service时抛org.jboss.ws.WSException: Cannot obtain java type mapping for: {......}sayHello

 

使用EJB3发布WebService很简单,只要使用@WebService 和 @WebMethod 注释就行了。

@WebService
public @Stateless class HelloBean implements Hello {

	@WebMethod
	public String sayHello(String name) {
		return "Hello " + name;
	}
}

 启动JBoss 通过 http://localhost:8080/myproject/HelloBean?wsdl 查看wsdl

 

client 代码如下

public static void callSayHello() {
	String wsdl = "http://localhost:8080/myproject/HelloBean?wsdl";
	
	try {
		URL url = new URL(wsdl);
		String namespace = "http://bean.web......./";
		QName qname = new QName(namespace, "HelloBeanService");
		QName port = new QName(namespace, "HelloBeanPort");
		QName operation = new QName(namespace, "sayHello");
	
		ServiceFactory factory = ServiceFactory.newInstance();
		Service service = factory.createService(url, qname);
		Call call = service.createCall(port, operation);
		
		System.out.println(call.invoke(new Object[]{"Andy"}));
	} catch (Exception e) {
		e.printStackTrace();
	}
}

 

运行报错 org.jboss.ws.WSException: Cannot obtain java type mapping for: {......}sayHello

同样的client代码,使用一个简单的 main函数却可以运行。

 

google之,找到一点有用的 http://www.mail-archive.com/jboss-user@lists.jboss.org/msg13433.html

 

把JBoss里的jboss-jaxrpc.jar都删掉,从axis中复制axis.jar  jaxrpc.jar  commons-discovery-0.2.jar 到JBoss里,再运行原来的代码,就OK了。

 

参考

 

JBoss4 Guide 12.3. Web Services Clients

http://docs.jboss.org/jbossas/jboss4guide/r2/html/ch12.html#ch12.ws4ee-view.fig

 

注释类型 WebService

http://gceclub.sun.com.cn/Java_Docs/jdk6/docs/zh/api/javax/jws/WebService.html

 

分享到:
评论
1 楼 zercle 2008-10-12  
正在学习ejb3.0,看了以后帮助很大,请问如果这里的sayHello()输出的是自定义类型,不是String,在客户端怎么反序列化??

相关推荐

    webservice的jar.zip

    在压缩包"webservice的jar"中,可能包含的类和库有: - `javax.xml.ws.*` 包:这是JAX-WS的核心API,包含用于创建和访问Web服务的接口和类。 - `com.sun.xml.ws.*` 包:这是Sun Microsystems提供的JAX-WS实现,包含...

    php调用webservice及myeclipse创建webservice实例

    在提供的压缩包文件中,"php+webservice"很可能包含了PHP代码文件,用于演示如何调用由MyEclipse创建的Web服务。这些文件可能包括一个PHP脚本,该脚本使用SoapClient类与Web服务交互,以及MyEclipse项目中的源代码和...

    webservice-jboss-tutorial.zip

    【标题】: "Web服务(WebService)在JBoss应用服务器上的实现教程" 【描述】: "这个压缩包文件`webservice-jboss-tutorial.zip`包含了关于如何在JBoss应用服务器上部署和使用Web服务的教程。Web服务是一种基于开放...

    java_webservice_myeclipse.rar

    在“java_webservice_myeclipse.rar”压缩包中,包含了详细的步骤和图解,帮助你理解Web服务在MyEclipse中的实际操作: 1. 项目结构:通常包含src目录(源代码)、WebContent目录(Web应用资源)以及WEB-INF目录...

    jax-ws WebService客户端与服务端工程.rar

    - **应用服务器**:JAX-WS服务通常部署在应用服务器上,如Tomcat、JBoss、GlassFish等,这些服务器提供运行环境和支持。 - **测试工具**:可以使用`WSDL`工具或`SOAPUI`进行Web服务的测试和调试。 6. **安全性**...

    如何基于JAX-WS开发一个WebService实例

    在Java EE环境中,我们可以将服务部署到应用服务器,如Tomcat或JBoss。创建一个`HelloWebService.xml`部署描述符,并在`WEB-INF`目录下添加。然后,将服务类和部署描述符打包成WAR文件,部署到服务器。 **步骤5:...

    webservice视频源码

    3. **熟悉客户端调用**:了解如何在各种编程语言中实现对WebService的调用。 4. **实践项目经验**:通过实际代码加深理解,提高解决问题的能力。 总的来说,"webservice视频源码"是一个很好的学习资源,能够帮助...

    WebService调用技术文档

    为了更好地理解WebService调用,我们可以创建一个简单的Java JAX-WS服务,然后在另一个项目中作为客户端调用。具体步骤包括服务端的部署、客户端的生成以及调用服务的方法。 **七、工具支持** 在Java开发中,常用...

    webService JWS实现方式

    5. **服务发布与消费**: 在JWS中,服务提供者通过发布服务到一个应用服务器,如Tomcat或JBoss,然后服务消费者通过WSDL找到并调用服务。调用过程通常涉及SOAP请求的发送和响应的接收。 在提供的压缩包文件中,"jws-...

    WebService_CXF范例.

    接着,你可以编写服务端和客户端代码,通过CXF提供的API来创建、发布和调用WebService。这个过程将帮助你直观地理解CXF如何实现服务的发布和调用。 总的来说,Apache CXF是一个强大且灵活的框架,适用于构建和消费...

    WebService

    在本例中,Web服务使用了Java语言进行开发,这表明我们将探讨Java中的WebService技术,包括其原理、实现方式以及如何通过提供的Ws_Client和Ws_server两个文件进行交互。 1. WebService的基本概念: WebService是一...

    java开发webservice.doc

    7. **容器集成**:在实际项目中,Web Service通常部署在应用服务器(如Tomcat、JBoss、WebLogic等)上,这些服务器通常提供对JAX-WS的集成和支持,简化部署和管理。 总结来说,Java 6通过内置的JAX-WS简化了Web ...

    基于CXF实现WebService开发.pdf

    在安全性方面,CXF支持WS-Security标准,允许在SOAP消息中添加安全性措施,如数字签名和加密。同时,CXF支持WS-Addressing标准,为SOAP消息的路由和传递提供了可靠的支持。WS-ReliableMessaging标准为消息传递提供了...

    java下webservice开发.pdf

    Java WebService 是一种基于开放标准的技术,允许不同的应用程序和系统在互联网上进行互操作和通信。它通过HTTP协议作为通信基础,确保了跨平台的兼容性和灵活性。Web Service的核心目标是实现不同系统间的无缝集成...

    webService 资料包

    它简化了将Java方法暴露为WebService的过程,并且提供了客户端调用WebService的方法。 6. **创建WebService的步骤**: - 定义服务接口:通常是一个Java接口,包含服务的方法。 - 实现服务接口:创建一个类实现该...

    myeclipse开发Java WebService.zip

    在IT行业中,开发Java WebService是一项常见的任务,用于构建可跨平台、跨应用程序的数据交换机制。MyEclipse作为一款强大的集成开发环境(IDE),为Java WebService的开发提供了便利。以下将详细介绍使用MyEclipse...

    WebService_CXF学习.doc

    - **JAX-WS, JSR-181, SAAJ, JAX-RS**:这些是Java EE中的标准API,用于开发WebService。 - **SOAP 1.1/1.2, WS-I Basic Profile, WS-Security, WS-Addressing, WS-RM, WS-Policy**:这些是WebService的核心协议和...

    JavaWebService开发.pdf

    另一种常见的方式是从已有Java类开始,通过注解(如JAX-WS的@WebService和@WebMethod)将普通Java类转换为Web Service。这种方式更加直观,可以直接使用Java类的方法作为服务操作。 Java Web Service测试与部署 ...

    jdk自动生成webservice

    import javax.xml.ws.Service; Service service = Service.create(new URL("http://localhost:8080/your-app/HelloService?wsdl"), QName.valueOf("http://example.com/","HelloServiceService")); HelloService ...

Global site tag (gtag.js) - Google Analytics