Здравствуйте! почитав две замечательные статьи: http://xmlhack.ru/texts/04/ws.in.java.tech...ava_axis10.htmlwww.lib.juga.ru/article/view/190/наконец-то передал через веб-сервис класс. Только проблема возникает, когда передаваемый класс тоже содержит рукотворные классы: Веб-сервис:| Код | package services.cpc;
public class POGOService { public Commis addCommis(Commis c){ return c; } }
|
подкласс Commis:| Код | package services.cpc;
public class Commis implements java.io.Serializable { int ID_COMMIS=0;
public int getIdCommis(){ return ID_COMMIS; }
public void setIdCommis(int id){ this.ID_COMMIS=id; }
public OsmKm getOsmKm(int ID_PUTGL, int KM){ OsmKm obj_OsmKm=new OsmKm(ID_PUTGL,KM); return obj_OsmKm; } }
|
ПодПодкласс, который юзает Commis:| Код | package services.cpc;
public class OsmKm implements java.io.Serializable{ private int id_putgl; private int km; public OsmKm(int id_putgl, int km) { this.id_putgl=id_putgl; this.km=km; } }
|
Развернуть сервис пытаюсь так( server-config.wsdd): | Код | <service name="POGOService" provider="java:RPC" style="document" use="literal"> <parameter name="className" value="services.cpc.POGOService"/> <parameter name="allowedMethods" value="*"/> <parameter name="scope" value="Application"/> <namespace>http://services.cpc</namespace> <beanMapping qname="ns:Commis" xmlns:ns="urn:services.cpc.POGOService" languageSpecificType="java:services.cpc.Commis"/> <beanMapping qname="ns:OsmKm" xmlns:ns="urn:services.cpc.Commis" languageSpecificType="java:services.cpc.OsmKm"/> </service>
|
Чую непорядок тут: | Код | <beanMapping qname="ns:Commis" xmlns:ns="urn:services.cpc.POGOService" languageSpecificType="java:services.cpc.Commis"/> <beanMapping qname="ns:OsmKm" xmlns:ns="urn:services.cpc.Commis" languageSpecificType="java:services.cpc.OsmKm"/>
|
Как указывать несколько beanMapping-ов, в том случае когда один зависит от другого? Добавлено через 2 минуты и 3 секундыwsdl, если что | Код | <?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions targetNamespace="http://services.cpc" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://services.cpc" xmlns:intf="http://services.cpc" xmlns:tns1="urn:services.cpc.POGOService" 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:types> <schema elementFormDefault="qualified" targetNamespace="urn:services.cpc.POGOService" xmlns="http://www.w3.org/2001/XMLSchema"> <complexType name="Commis"> <sequence> <element name="idCommis" type="xsd:int" /> </sequence> </complexType> </schema> <schema elementFormDefault="qualified" targetNamespace="http://services.cpc" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="urn:services.cpc.POGOService" /> <element name="c" type="tns1:Commis" /> <element name="addCommisReturn" type="tns1:Commis" /> </schema> </wsdl:types> <wsdl:message name="addCommisRequest"> <wsdl:part element="impl:c" name="c" /> </wsdl:message> <wsdl:message name="addCommisResponse"> <wsdl:part element="impl:addCommisReturn" name="addCommisReturn" /> </wsdl:message> <wsdl:portType name="POGOService"> <wsdl:operation name="addCommis" parameterOrder="c"> <wsdl:input message="impl:addCommisRequest" name="addCommisRequest" /> <wsdl:output message="impl:addCommisResponse" name="addCommisResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="POGOServiceSoapBinding" type="impl:POGOService"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="addCommis"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="addCommisRequest"> <wsdlsoap:body use="literal" /> </wsdl:input> <wsdl:output name="addCommisResponse"> <wsdlsoap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="POGOServiceService"> <wsdl:port binding="impl:POGOServiceSoapBinding" name="POGOService"> <wsdlsoap:address location="http://localhost:8001/services/POGOService" /> </wsdl:port> </wsdl:service> </wsdl:definitions>
|
|