在上面文章中我们讲到,通过使用用JBoss5作为EJB容器的时候,调用Web服务出现了异常. 异常信息如下:

***********************

CreateWeb Service Client...

CreateWeb Service...

CallWeb Service Operation...

Serversaid: port1.addUser() is a void method!

Exceptionin thread "main" javax.xml.ws.WebServiceException:java.lang.UnsupportedOperationException: setProperty must be overridden by allsubclasses of SOAPMessage

atorg.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:396)

atorg.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:302)

atorg.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:170)

atorg.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)

at$Proxy15.sayHello(Unknown Source)

atejb_webservice_client.WebServiceClient.main(WebServiceClient.java:15)

Causedby: java.lang.UnsupportedOperationException: setProperty must be overridden byall subclasses of SOAPMessage

atjavax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:439)

atorg.jboss.ws.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:87)

atorg.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:169)

atorg.jboss.ws.core.CommonSOAP11Binding.createMessage(CommonSOAP11Binding.java:57)

atorg.jboss.ws.core.CommonSOAPBinding.bindRequestMessage(CommonSOAPBinding.java:157)

atorg.jboss.ws.core.CommonClient.invoke(CommonClient.java:290)

atorg.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:290)

... 4more

通过查找了解相关的资料和信息:

Iread the release notes for Jboss as 4.2.3.GA and it describes what to do ifrunning webservies using jdk1.6. Here is what helped me: (taken from therelease notes and followed exactly as printed)

*JBossAS 4.2.3.GA can be compiled with both Java5 & Java6. The Java5compiled binary is our primary/recommended

binarydistribution. It has undergone rigorous testing and can run under both a Java 5and a Java 6 runtime. When

runningunder Java 6 you need to manually copy the following libraries from theJBOSS_HOME/client directory to

theJBOSS_HOME/lib/endorsed directory, so that the JAX-WS 2.0 apis supported byJBossWS are used:

o jboss-jaxrpc.jar

o jboss-jaxws.jar

o jboss-jaxws-ext.jar

o jboss-saaj.jar

解决方法是把JBoss4.2内的JBOSS_HOME/client目录下的一下文件复制到JBoss5.1内的JBOSS_HOME/lib/endorsed目录下,重启服务就可以了。

jboss-jaxrpc.jar

jboss-jaxws.jar

jboss-jaxws-ext.jar

jboss-saaj.jar

出现的问题跟版本有关系.到此我们基本上能够使用EJB发布WebService服务,并且能够调用简单参数的WebService.但是如果想让客户端调用复杂一些的参数呢?比如一个实体.下一篇文章将会调用复杂的参数.

带你走进EJB--将EJB发布为Webservice(3)的更多相关文章

  1. 带你走进EJB--将EJB发布为Webservice(1)

    Web service是一个平台独立,松耦合基于可编程的web的应用程序,可使用开放的XML标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. 简单说Web servi ...

  2. 带你走进EJB--将EJB发布为Webservice(2)

    在企业级的应用程序中经常都要把用不同语言写成的.在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量. 简单的一个例子:应用程序经常需要从运行在A主机上的程序中获取数据:或者把数据发送到 ...

  3. 带你走进EJB--将EJB发布为Webservice(4)

    接下来的我们将会自定义一个对象,然后看看EJB是如何对复杂的参数发布成WebService的. 代码如下:在第一个版本的基础之上加上增加用户的方法,参数为User. package com.tgb.e ...

  4. 带你走进EJB--MDB

    在之前的文章中我们介绍了带你走进EJB--JMS 和 带你走进EJB--JMS编程模型 对JMS有了初步的了解, 作为EJB系列的文章我们会继续对EJB相关的内容做进一步深的学习和了解.而此次需要进行 ...

  5. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  6. 《ASP.NET Core项目开发实战入门》带你走进ASP.NET Core开发

    <ASP.NET Core项目开发实战入门>从基础到实际项目开发部署带你走进ASP.NET Core开发. ASP.NET Core项目开发实战入门是基于ASP.NET Core 3.1 ...

  7. 小丁带你走进git的世界三-撤销修改

    一.撤销指令 git checkout还原工作区的功能 git reset  还原暂存区的功能 git clean  还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...

  8. 小丁带你走进git的世界二-工作区暂存区分支

    小丁带你走进git的世界二-工作区暂存区分支 一.Git基本工作流程 1.初始化一个仓库 git  init git  clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 ...

  9. 老司机带你走进Core Animation

    为什么时隔这么久我又回来了呢? 回来圈粉. 开玩笑的,前段时间ipv6被拒啊,超级悲剧的,前后弄了好久,然后需求啊什么的又超多,所以写好的东西也没有时间整理.不过既然我现在回来了,那么这将是一个井喷的 ...

  10. 带你走进rsync的世界

    导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...

随机推荐

  1. Java知识回顾 (2) Java 修饰符

    一.Java 修饰符 1.1 访问控制修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default (即缺省,什么也不写): 在 ...

  2. C#编程(二十一)----------扩展方法

    C#中的扩展方法 有许多扩展类的方式.如果有类的源代码,继承就是给类添加功能的好方法.但是如果没有源代码,怎么办?吃屎可以使用扩展方法,它允许改变一个类,但不需要该类的源代码.扩展方法是静态方法,它是 ...

  3. cocos2d-x调用scheduleUpdate()不执行update()方法的解决办法

    前两天使用到每帧都更新动画的scheduleUpdate()方法,但通过cclog,我发现, scheduleUpdate()是执行了.但update()方法并没有被调用. 那是因为在CCLayer中 ...

  4. Mysql数据库自带四个数据库的解析

    1.    information_schema详细介绍: information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式.什么是元数据呢?元数据是关于数据的数据,如数据 ...

  5. 让Android SDK Manager正常更新的办法

    首先,进入C:\Windows\System32\drivers\etc,找到hosts文件,用记事本打开它. 在文件的最后加入: 203.208.46.146 dl.google.com 203.2 ...

  6. [Android Pro] 跨平台反编译工具 jadx (ubuntu亲测 可用)

    github :  https://github.com/skylot/jadx 输入: .dex, .apk, .jar or .class 输出: 资源文件 和  class文件 不支持重新打包, ...

  7. Guava CharMatcher

    概述 CharMatcher提供了多种对字符串处理的方法, 它的主要意图有: 1. 找到匹配的字符 2. 处理匹配的字符 CharMatcher内部主要实现包括两部分: 1. 实现了大量公用内部类, ...

  8. 修改visual studio2010 的快捷键,使用ctrl+W 关闭当前文档

    废话不多说,打开visualstudio 的菜单 [工具]->[选项].定位到 环境->键盘. 找到光口.关闭文档窗口.把默认的ctrl+F4移除,因为这两个组合键按起来太麻烦,太累了.再 ...

  9. 接收连接basic_socket_acceptor

    概述 TCP有一处和UDP不同的地方是TCP是面向连接的,TCP有建立连接.通信.关闭连接的操作,Boost.Asio提供了ip::tcp::acceptor用来接收新的TCP连接,底层由socket ...

  10. [转]vue Element UI走马灯组件重写

    https://blog.csdn.net/u013750989/article/details/82885482 1.element ui走马灯组件 -- carousel分析一波源代码:carou ...