增删改就不用说了,直接传sql过去即可。
查询稍微麻烦一点,也可以做到。数据都用String类型
传回一个对象叫RecordSet,
其中一个String[] header
还有一个String[][] data
这样就OK. 存储过程也差不多。具体过程你自己慢慢调。

解决方案 »

  1.   

    support
    增删改就不用说了,直接传sql过去即可。
    查询稍微麻烦一点,也可以做到。数据都用String类型传回一个对象叫RecordSet,
    其中一个String[] header
    还有一个String[][] data
    or
    RecordSet->XML String
    the XML format as:
    <root>
       <heads>
         <field type="" name="" ../>
         ....
       </heads>
       <datas>
         <record field1="..." field2="..." />
          <record field1="..." field2="..." />
        ....
       </datas>
      

  2.   

    楼上所说的方法也类似于我目前所用的方法,基本上搞定
    存储过程考虑到输入参数必须注册类型,正在研究当中另有一个问题,我编译时出现如下信息:
    Buildfile: build_axis.xml
    JB_Default_Task:
    [java2wsdl] Java2WSDL com.regaltec.service.WebService
    BUILD FAILED
    E:\ccatslbr\WebServiceDeploymentModules\Apache Axis\webapp\webapps\JbWebServiceDesigner\build_axis.xml:29: The <wsdl2java> type doesn't support the "testcaseoutputdirectory" attribute.
    [java2wsdl] - The class java.lang.Throwable is defined in a java or javax package and cannot be converted into an xml schema type.  An xml schema anyType will be used to 
        define this class in the wsdl file.
    Total time: 2 seconds
    Error executing Ant, see output for details是怎么回事?
    只生成了.wsdl,没有生成XXXXTestCase.java,XXXXStub.java等文件,何解?
      

  3.   

    有了wsdl文件,可用wsdl2java生成你要的stub或proxy文件
      

  4.   

    从你的字面意思看应该是你的方法中抛出了普通的Exception, 而这个东西是不能被序列化的,也没必要序列化,一般服务端自行catch住异常后返回错误代码。如果你确实想返回一个远程异常给客户端,可以将它包装成SOAP的异常,比如AxisFault等。见axis的例子,samples/faults
    另外顺便说一下,你的开发方式有问题。如果服务端和客户端都是由你自己开发,是没必要用WSDL2Java的,用了反而还带来不必要的麻烦。应该直接定义接口,实现接口,发布实现类。WSDL是开发服务端的人给客户端的文件。
      

  5.   

    to usabcd(9号公路上的3名共军) :
    从你的字面意思看应该是你的方法中抛出了普通的Exception, 而这个东西是不能被序列化的,也没必要序列化,一般服务端自行catch住异常后返回错误代码。如果你确实想返回一个远程异常给客户端,可以将它包装成SOAP的异常,比如AxisFault等。
    =====================================================
    你这番话说得很对,我在方法中都throws了一个封装后的ApplicationException
    另外顺便说一下,你的开发方式有问题。如果服务端和客户端都是由你自己开发,是没必要用WSDL2Java的,用了反而还带来不必要的麻烦。应该直接定义接口,实现接口,发布实现类。WSDL是开发服务端的人给客户端的文件。
    =====================================================
    我的Web Service是开发出给别人用的,用Delphi客户端调用
      

  6.   

    to usabcd(9号公路上的3名共军) :
    从你的字面意思看应该是你的方法中抛出了普通的Exception, 而这个东西是不能被序列化的,也没必要序列化,一般服务端自行catch住异常后返回错误代码。如果你确实想返回一个远程异常给客户端,可以将它包装成SOAP的异常,比如AxisFault等。
    =====================================================
    你这番话说得很对,我在方法中都throws了一个封装后的ApplicationException
    -------------------------------
    你可以用你自己的Exception,但必须继承RemoteException并且要在部署文件中声明另外顺便说一下,你的开发方式有问题。如果服务端和客户端都是由你自己开发,是没必要用WSDL2Java的,用了反而还带来不必要的麻烦。应该直接定义接口,实现接口,发布实现类。WSDL是开发服务端的人给客户端的文件。
    =====================================================
    我的Web Service是开发出给别人用的,用Delphi客户端调用
    -------------------------------
    给别人用不需要WSDL2Java的,你发布好后可以通过url直接看到wsdl,把这个url告诉客户端,或者把浏览器看到的内容存成wsdl文件交给客户端即可。