在上面文章中我们讲到,通过使用用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. 直接将DataTable存入oracle数据库中(转)

    注意 1:传入的DataTable的列必须和数据库中表列必须一致,否则数据会默认往前几列存 2:sql语句只要是对要插入的表的一个查询,目的是为了确定表名 3:取得连接字符串的方法为GetOracle ...

  2. WordPress主题开发:制作面包屑导航

    所谓面包屑,就是类似这种:首页 > 公司简介 > 发展历史 展示网站树型结构,并让网站访问者随时知道自己所处的位置,方便返回上几级. 将下面的代码添加到主题的 functions.php ...

  3. springMVC helloworld入门

    一.SpringMVC概述与基本原理 spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦 ...

  4. HTML5学习笔记:跨域

    在跨域安全性方面,有多个地方会有限制,主要是XMLHttpRequest对象的跨域限制和iFrame的跨域限制,下面我们分别来看一下. Ajax跨域(CORS) CORS是一个W3C标准,全称是&qu ...

  5. 动态规划经典问题Java实现

    动态规划问题Java实现 如果我们有面值为1元.3元和5元的硬币若干枚,如何用最少的硬币凑够11元? public class DPProblem { public static void main( ...

  6. linux下vi操作Found a swap file by the name

    当我在linux下用vi打开Test.java文件时 [root@localhost tmp]# vi Test.java 会出现如下信息: E325: ATTENTION Found a swap  ...

  7. [Android Security] jar文件转smali文件

    cp : https://blog.csdn.net/fengmm521/article/details/78446486 jar转smali文件一共要走两步,先将jar文件转为.dex文件 (dx工 ...

  8. [Linux] ubuntu各目录含义

    /boot/: 启动文件,所有与系统启动有关的文件都保存在这里 /boot/grub/:grub引导器相关的配置文件都在这里 /dev/:此目录中保存了所有设备文件,例如,使用的分区:/dev/hda ...

  9. Asp.Net Core获取当前上下文对象

    HttpContext简介 .Net Core中的HttpContext上下文是个抽象类,命名空间为Microsoft.AspNetCore.Http 所在程序集 \netstandard2.0\Mi ...

  10. TensorFlow训练神经网络cost一直为0

    问题描述 这几天在用TensorFlow搭建一个神经网络来做一个binary classifier,搭建一个典型的神经网络的基本思路是: 定义神经网络的layers(层)以及初始化每一层的参数 然后迭 ...