Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> трехэтажэный веб-сервис, использование нескольких классов 
:(
    Опции темы
Grig
Дата 10.6.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: нет
Всего: 16



Здравствуйте!
почитав две замечательные статьи:
http://xmlhack.ru/texts/04/ws.in.java.tech...ava_axis10.html
www.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>



--------------------
        
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0393 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.