新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Web服务(Web Services,WS), 语义Web服务(Semantic Web Services, SWS)讨论区: WSDL, SOAP, UDDI, DAML-S, OWL-S, SWSF, SWSL, WSMO, WSML,BPEL, BPEL4WS, WSFL, WS-*,REST, PSL, Pi-calculus(Pi演算), Petri-net,WSRF,
    [返回] 中文XML论坛 - 专业的XML技术讨论区W3CHINA.ORG讨论区 - Web新技术讨论『 Web Services & Semantic Web Services 』 → 一个 web services的小例子的错误: 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 12804 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 一个 web services的小例子的错误: 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     菜籽 帅哥哟,离线,有人找我吗?双鱼座1981-2-28
      
      
      威望:5
      头衔:软件民工
      等级:研二(Sowa的知识表示写得真好!)
      文章:875
      积分:5655
      门派:XML.ORG.CN
      注册:2004/7/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给菜籽发送一个短消息 把菜籽加入好友 查看菜籽的个人资料 搜索菜籽在『 Web Services & Semantic Web Services 』的所有贴子 点击这里发送电邮给菜籽 引用回复这个贴子 回复这个贴子 查看菜籽的博客楼主
    发贴心情 一个 web services的小例子的错误:

    环境搭建
    安装jdk1.5.0_02
    安装tomcat-5.0.28到C:\Tomcat并验证安装是否成功
    下载AXIS项目打包文件axis-1_3.zip解压缩后将目录中的webapps目录下的axis子目录拷贝到C:\Tomcat\webapps下。
    下载相关包:  
    a.mail.jar 下载地址:http://java.sun.com/products/javamail  
    b.activation.jar 下载地址:http://java.sun.com/products/javabeans/glasgow/jaf.html  
    c.xerces.jar 下载地址:http://xml.apache.org/xerces-j/index.html  
    d.xmlsec-1.2.1.jar 下载地址:http://xml.apache.org/security/
    连同axis-1_3\lib目录下的文件一起拷备到Tomcat\commom\lib目录下
    验证AXIS的安装:重新启动Tomcat服务器后打开浏览器输入网址http://localhost:8080/axis 后的页面,点击链接"Validate"来验证Axis所需的几个JAVA包是否齐全。信息 如下:
    Needed Components
    Found SAAJ API ( javax.xml.soap.SOAPMessage ) at E:\java\tomcat\jakarta-tomcat-5.0.28\common\lib\saaj.jar

    Found JAX-RPC API ( javax.xml.rpc.Service ) at E:\java\tomcat\jakarta-tomcat-5.0.28\common\lib\jaxrpc.jar

    Found Apache-Axis ( org.apache.axis.transport.http.AxisServlet ) at E:\java\tomcat\jakarta-tomcat-5.0.28\webapps\axis\WEB-INF\lib\axis.jar

    Found Jakarta-Commons Discovery ( org.apache.commons.discovery.Resource ) at E:\java\tomcat\jakarta-tomcat-5.0.28\webapps\axis\WEB-INF\lib\commons-discovery-0.2.jar

    Found Jakarta-Commons Logging ( org.apache.commons.logging.Log ) at E:\java\tomcat\jakarta-tomcat-5.0.28\bin\commons-logging-api.jar

    Found Log4j ( org.apache.log4j.Layout ) at E:\java\tomcat\jakarta-tomcat-5.0.28\webapps\axis\WEB-INF\lib\log4j-1.2.8.jar

    Found IBM's WSDL4Java ( com.ibm.wsdl.factory.WSDLFactoryImpl ) at E:\java\tomcat\jakarta-tomcat-5.0.28\webapps\axis\WEB-INF\lib\wsdl4j-1.5.1.jar

    Found JAXP implementation ( javax.xml.parsers.SAXParserFactory ) at an unknown location

    Found Activation API ( javax.activation.DataHandler ) at E:\java\tomcat\jakarta-tomcat-5.0.28\common\lib\activation.jar
    Optional Components
    Found Mail API ( javax.mail.internet.MimeMessage ) at E:\java\tomcat\jakarta-tomcat-5.0.28\common\lib\mail.jar

    Found XML Security API ( org.apache.xml.security.Init ) at E:\java\tomcat\jakarta-tomcat-5.0.28\common\lib\xmlsec-1.2.1.jar

    Found Java Secure Socket Extension ( javax.net.ssl.SSLSocketFactory ) at an unknown location
    The core axis libraries are present.The optional components are present.
    Note: Even if everything this page probes for is present, there is no guarantee your web service will work, because there are many configuration options that we do not check for. These tests are necessary but not sufficient

    编写JAVA类Hello.java,内容如下:

    public class Hello{
    public String hello(String name){
      if(name==null)
       name = "";
      return "你好"+name+",欢迎来到Web服务的世界!";
    }
    }

    将该文件改名为Hello.jws并拷贝到AXIS应用目录C:\Tomcat\webapps\axis下。

    下面我们就可以测试该Web服务了,打开浏览器并输入刚刚创建的文件名对应的URL地址 http://localhost:8080/axis/Hello.jws 浏览器显示如下结果:
    There is a Web Service here
    Click to see the WSDL
    (一个超连接)
    点击页面上的链接查看该Web服务对应的WSDL信息如下所示:
      <?xml version="1.0" encoding="UTF-8" ?>
    - <wsdl:definitions targetNamespace="http://localhost:8080/axis/Hello.jws" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/Hello.jws" xmlns:intf="http://localhost:8080/axis/Hello.jws" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <!--
    WSDL created by Apache Axis version: 1.3
    Built on Oct 05, 2005 (05:23:37 EDT)

      -->
    - <wsdl:message name="helloRequest">
      <wsdl:part name="name" type="xsd:string" />
      </wsdl:message>
    - <wsdl:message name="helloResponse">
      <wsdl:part name="helloReturn" type="xsd:string" />
      </wsdl:message>
    - <wsdl:portType name="Hello">
    - <wsdl:operation name="hello" parameterOrder="name">
      <wsdl:input message="impl:helloRequest" name="helloRequest" />
      <wsdl:output message="impl:helloResponse" name="helloResponse" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="HelloSoapBinding" type="impl:Hello">
      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="hello">
      <wsdlsoap:operation soapAction="" />
    - <wsdl:input name="helloRequest">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" />
      </wsdl:input>
    - <wsdl:output name="helloResponse">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/Hello.jws" use="encoded" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="HelloService">
    - <wsdl:port binding="impl:HelloSoapBinding" name="Hello">
      <wsdlsoap:address location="http://localhost:8080/axis/Hello.jws" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

    打开命令行窗口,转到AXIS目录下的WEB-INF子目录。确保Tomcat服务已经处于启动状态,键入命令 :
    Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
    出现错误信息:

    -Unable to find required classes <javax.activation.Datehandler and javax.mail.internet.MimeMultipart>.Attachment support is disabled.
    这个时候在在当前所在目录下产生一个子目录 localhost/axis/Hello_jws,该目录下有四个JAVA源文件,
    Hello.java 定义了Web服务接口,此例中只有一个hello方法。

    HelloService.java 定义了用于获取Web服务接口的方法。

    HelloServiceLocator.java 接口HelloService的具体实现。

    HelloSoapBindingStub.java Web服务客户端桩,通过该类与服务器交互。
    文件是生成了,但是上面又错误信息.往下的各个步骤都不能进行

    各位帮忙,看看是哪里出错了,谢谢,
    新加一个类Main.java,为了方便,让这个类与刚产生的四个类都在同一个包下。内容如下:

    //Main.java
    package localhost.axis.Hello_jws;
    public class Main{
    public static void main(String[] args) throws Exception{
    HelloService service = new HelloServiceLocator();
    Hello hello = service.getHello();
    System.out.println("Response:"+hello.hello("罐头"));
    }
    }

    使用以下命令进行编译:

    javac -classpath lib\axis.jar;lib\jaxrpc.jar localhost\axis\Hello_jws\*.java


    如果编译没有问题的话执行该测试程序:

    java -Djava.ext.dirs=lib -cp . localhost.axis.Hello_jws.Main//运行结果:Response:你好罐头,欢迎来到Web服务的世界!


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    重拾英语...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/11/12 19:31:00
     
     菜籽 帅哥哟,离线,有人找我吗?双鱼座1981-2-28
      
      
      威望:5
      头衔:软件民工
      等级:研二(Sowa的知识表示写得真好!)
      文章:875
      积分:5655
      门派:XML.ORG.CN
      注册:2004/7/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给菜籽发送一个短消息 把菜籽加入好友 查看菜籽的个人资料 搜索菜籽在『 Web Services & Semantic Web Services 』的所有贴子 点击这里发送电邮给菜籽 引用回复这个贴子 回复这个贴子 查看菜籽的博客2
    发贴心情 
    感觉自己好像配置有点问题,不知道哪位能指点一下,谢谢

    ----------------------------------------------
    重拾英语...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/11/13 11:04:00
     
     alan-vinson 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2005/11/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给alan-vinson发送一个短消息 把alan-vinson加入好友 查看alan-vinson的个人资料 搜索alan-vinson在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看alan-vinson的博客3
    发贴心情 
    classpath设置有问题。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/11/16 16:19:00
     
     菜籽 帅哥哟,离线,有人找我吗?双鱼座1981-2-28
      
      
      威望:5
      头衔:软件民工
      等级:研二(Sowa的知识表示写得真好!)
      文章:875
      积分:5655
      门派:XML.ORG.CN
      注册:2004/7/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给菜籽发送一个短消息 把菜籽加入好友 查看菜籽的个人资料 搜索菜籽在『 Web Services & Semantic Web Services 』的所有贴子 点击这里发送电邮给菜籽 引用回复这个贴子 回复这个贴子 查看菜籽的博客4
    发贴心情 
    什么地方

    ----------------------------------------------
    重拾英语...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/11/16 17:01:00
     
     菜籽 帅哥哟,离线,有人找我吗?双鱼座1981-2-28
      
      
      威望:5
      头衔:软件民工
      等级:研二(Sowa的知识表示写得真好!)
      文章:875
      积分:5655
      门派:XML.ORG.CN
      注册:2004/7/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给菜籽发送一个短消息 把菜籽加入好友 查看菜籽的个人资料 搜索菜籽在『 Web Services & Semantic Web Services 』的所有贴子 点击这里发送电邮给菜籽 引用回复这个贴子 回复这个贴子 查看菜籽的博客5
    发贴心情 
    验证AXIS的安装:重新启动Tomcat服务器后打开浏览器输入网址http://localhost:8080/axis 后的页面:

    此主题相关图片如下:
    按此在新窗口浏览图片
    点击链接"Validate"来验证Axis所需的几个JAVA包是否齐全。信息 如下:

    此主题相关图片如下:
    按此在新窗口浏览图片
    编写JAVA类Hello.java,内容如下:
    public class Hello{
    public String hello(String name){
      if(name==null)
       name = "";
      return "你好"+name+",欢迎来到Web服务的世界!";
    }
    }
    将该文件改名为Hello.jws并拷贝到AXIS应用目录C:\Tomcat\webapps\axis下。

    下面我们就可以测试该Web服务了,打开浏览器并输入刚刚创建的文件名对应的URL地址 http://localhost:8080/axis/Hello.jws 浏览器显示如下结果:

    此主题相关图片如下:
    按此在新窗口浏览图片
    点击页面上的链接查看该Web服务对应的WSDL信息如下所示:

    此主题相关图片如下:
    按此在新窗口浏览图片
    打开命令行窗口,转到AXIS目录下的WEB-INF子目录。确保Tomcat服务已经处于启动状态,键入命令 :
    Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl

    命令行终端错误信息:
    Unable to find required classes <javax.activation.Datehandler and javax.mail.internet.MimeMultipart>.Attachment support is disabled
    tomat 错误信息:
    unable to find congigfile. creating new servlet engine config file:/web-inf/sever-config.wsdd

    [此贴子已经被作者于2005-11-18 10:13:50编辑过]

    ----------------------------------------------
    重拾英语...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/11/18 9:48:00
     
     boll666 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:11
      积分:103
      门派:XML.ORG.CN
      注册:2005/12/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给boll666发送一个短消息 把boll666加入好友 查看boll666的个人资料 搜索boll666在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看boll666的博客6
    发贴心情 
    sorry ,不懂
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/12/30 0:58:00
     
     step123 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:21
      积分:140
      门派:XML.ORG.CN
      注册:2006/1/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给step123发送一个短消息 把step123加入好友 查看step123的个人资料 搜索step123在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看step123的博客7
    发贴心情 
    问题出在Java -Djava.ext.dirs=lib 上,我也现现过同样的问题,它指明你要用的包在lib目录下面找,这个时候,运行时,不会使用classpath的设置,而直接在lib目录下面找指定的包,显然activation.jar 和mail.jar不在这个lib中,当然找不到,当然会提示找不到。两种方法解决:
    1.去掉-Djava.exit.dirs=lib 直接运行Java  org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
    2.或者将相关包copy到WEB-INF/lib中。

    我也是试了半天,才试出来的。网上的文档,没几个说明的。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/3 13:58:00
     
     shrimpLucky 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:56
      积分:254
      门派:XML.ORG.CN
      注册:2005/9/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给shrimpLucky发送一个短消息 把shrimpLucky加入好友 查看shrimpLucky的个人资料 搜索shrimpLucky在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看shrimpLucky的博客8
    发贴心情 
    7楼的有道理!
    我一般是将axis 下的lib下的文件添加到axisclasspath环境变量中,象activation.jar 和mail.jar放在tomcat的common\lib目录下,使用工具时,命令行提示符在你所要存放生成文件的目录下,运行
    java -classpath %axisclasspath%;%catalina_home%\common\lib\activation.jar;;%catalina_home%\common\lib\mail.jar org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/5 16:47:00
     
     shrimpLucky 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:56
      积分:254
      门派:XML.ORG.CN
      注册:2005/9/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给shrimpLucky发送一个短消息 把shrimpLucky加入好友 查看shrimpLucky的个人资料 搜索shrimpLucky在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看shrimpLucky的博客9
    发贴心情 
    突然发现上面多写了一个 ;
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/5 16:54:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Web Services & Semantic Web Services 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/28 16:39:40

    本主题贴数9,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    593.750ms