0

我正在尝试使用 toplink DB WS Provider 开发基于 pl/sql 包的 jax-ws webservice,问题是我的过程返回一个表数组并且返回消息不是我所期望的。

生成的wsdl如下:

<?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI at http://jax-   ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5. --><wsdl:definitions xmlns:ns1="http://clientwstop/testeWS" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://clientwstop/testeWSService" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" name="testeWSService" targetNamespace="http://clientwstop/testeWSService">
<wsdl:types>
<xsd:schema xmlns:tns="http://clientwstop/testeWSService" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://clientwstop/testeWSService" elementFormDefault="qualified">
<xsd:import schemaLocation="http://localhost:7101/clientWStop-clientWStop-context-root/testeWS?xsd=1" namespace="http://clientwstop/testeWS"/>
<xsd:complexType name="extconResponseType">
<xsd:sequence>
<xsd:element name="result">
<xsd:complexType>
<xsd:sequence>
<xsd:any/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="extconRequestType">
<xsd:sequence>
<xsd:element name="ENT_COD" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="extcon" type="tns:extconRequestType"/>
<xsd:element name="extconResponse" type="tns:extconResponseType"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="extconRequest">
<wsdl:part name="extconRequest" element="tns:extcon"/>
</wsdl:message>
<wsdl:message name="extconResponse">
<wsdl:part name="extconResponse" element="tns:extconResponse"/>
</wsdl:message>
<wsdl:portType name="testeWSService_Interface">
<wsdl:operation name="extcon">
<wsdl:input message="tns:extconRequest"/>
<wsdl:output message="tns:extconResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="testeWSService_SOAP_HTTP" type="tns:testeWSService_Interface">
<soap12:binding style="document"     transport="http://www.w3.org/2003/05/soap/bindings/HTTP/"/>
<wsdl:operation name="extcon">
<soap12:operation soapAction="http://clientwstop/testeWSService:extcon"     soapActionRequired="false"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="testeWSService">
<wsdl:port name="testeWSServicePort" binding="tns:testeWSService_SOAP_HTTP">
<soap12:address location="http://localhost:7101/clientWStop-clientWStop-context-    root/testeWS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

结果是这个:

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<srvc:extconResponse xmlns:srvc="http://clientwstop/testeWSService">
<srvc:result>
<simple-xml-format>
<simple-xml>
<result>weblogic.jdbc.wrapper.Struct_oracle_sql_STRUCT@11</result>
</simple-xml>
</simple-xml-format>
</srvc:result>
</srvc:extconResponse>
</env:Body>
</env:Envelope>

有没有人尝试过开发这样的 pl/sql webservices?我做错了什么?

问候

4

1 回答 1

0

我正在尝试做同样的事情。这是迄今为止我找到的最好的解决方案,另一个在这里找到

于 2013-05-29T21:04:13.047 回答