以前用xfire开发web services应用也没有这么复杂啊,不要用myeclipse,自己直接写用xfire开发web service的基本步骤
基本的Web Services开发步骤清单
这个清单总结了将一个Java方法发布为Web Service所必须的步骤:
1、检查Java类的方法和默认构造函数确保为public 
2、增加XFire servlet相关条目到web.xml中 
3、创建services.xml,把它放到WEB-INF/classes/META-INF/xfire目录下 
4、增加XFire和第三方包到你的Web应用的WEB-INF/lib文件夹中
5、然后就是自己写客户端调用代码
来自http://www.cnblogs.com/zhuweisky/archive/2006/06/01/414971.aspx

解决方案 »

  1.   

    看着应该是jaxb中xml与对象的绑定有问题,建议用jdk5,不要用jdk6,jdk6已经包含了jax-ws实现。
      

  2.   

    我用的是JDK5,难道是XFIR包不对?
      

  3.   

    正在学习WebService,以前用过xfire单独开发Webservice的程序,以后也单独开发过axis的Webservice程序,但是两个结合起来没有做过。
    学习中
      

  4.   

    我现在的服务访问没问题,但是调用总是不对,请教下正确的调用是什么样的?
    WSDL文件:
     <?xml version="1.0" encoding="UTF-8" ?> 
    - <wsdl:definitions targetNamespace="http://203.175.142.94/axis/services/SayHello" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://203.175.142.94/axis/services/SayHello" xmlns:intf="http://203.175.142.94/axis/services/SayHello" 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.4
    Built on Apr 22, 2006 (06:55:48 PDT)  --> 
    - <wsdl:message name="sayHelloResponse">
      <wsdl:part name="sayHelloReturn" type="soapenc:string" /> 
      </wsdl:message>
    - <wsdl:message name="sayHelloRequest">
      <wsdl:part name="name" type="soapenc:string" /> 
      </wsdl:message>
    - <wsdl:portType name="SayHello">
    - <wsdl:operation name="sayHello" parameterOrder="name">
      <wsdl:input message="impl:sayHelloRequest" name="sayHelloRequest" /> 
      <wsdl:output message="impl:sayHelloResponse" name="sayHelloResponse" /> 
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="SayHelloSoapBinding" type="impl:SayHello">
      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> 
    - <wsdl:operation name="sayHello">
      <wsdlsoap:operation soapAction="" /> 
    - <wsdl:input name="sayHelloRequest">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.syscanhc.com" use="encoded" /> 
      </wsdl:input>
    - <wsdl:output name="sayHelloResponse">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://203.175.142.94/axis/services/SayHello" use="encoded" /> 
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="SayHelloService">
    - <wsdl:port binding="impl:SayHelloSoapBinding" name="SayHello">
      <wsdlsoap:address location="http://203.175.142.94/axis/services/SayHello" /> 
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>我在JAVA中这样调用不行呀:
    String endpoint = "http://203.175.142.94/axis/services/SayHello";
                Service service = new Service();
                Call call = (Call) service.createCall();
                call.setTargetEndpointAddress( new java.net.URL(endpoint)) ;
                call.setOperationName(new QName("http://services.syscanhc.com", "sayHello"));
    //或者“http://203.175.142.94/axis/services/SayHello”也不行
                
                String ret = (String) call.invoke( new Object[] { "ibm" }) ;
                System.out.println("ret:"+ret);
      

  5.   

    我看了看代码,好像是用AXIS框架写的,使用MyEclipse 开发Web Service,里面有集成的xFire框架,并且xFire比AXIS开发Web Service要简单的多。如果是在MyEclipse写的Web Service你看一下WebServices 下的services.xml正确配置了吗?