powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Генерация кода через WSDL. Не генерируется Array
4 сообщений из 4, страница 1 из 1
Генерация кода через WSDL. Не генерируется Array
    #39932951
Don VinNi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день форумчане. Я в xml новичок. У меня есть WSDL файл. С помощью его я сгенерировал код. Но код неверный генерировался.
Вот фрагмент WSDL:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
            <xsd:complexType name="Card">
                <xsd:sequence>
                    <xsd:element name="state" type="xsd:string" />
                    <xsd:element name="pan" type="xsd:string" />
                    <xsd:element name="expiry" type="xsd:string" />
                    <xsd:element name="label" type="xsd:string" />
                    <xsd:element name="ownerID" type="xsd:string" />
                    <xsd:element name="serviceID" type="xsd:string" />
                    <xsd:element name="serviceChannel" type="xsd:string" />
                    <xsd:element name="Service" type="typens:Service" />
                    <xsd:element name="Charge" type="typens:Charge" />
                </xsd:sequence>
            </xsd:complexType>
            
            <xsd:complexType name="Cards">
                <xsd:sequence>
                    <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="typens:Card"/>
                </xsd:sequence>
            </xsd:complexType>
            
            <xsd:complexType name="ExportResponse">
                <xsd:sequence>
                    <xsd:element name="cardholderID" type="xsd:string" />
                    <xsd:element name="bankId" type="xsd:string" />
                    <xsd:element name="cardholderName" type="xsd:string" />
                    <xsd:element name="language" type="xsd:string" />
                    <xsd:element name="state" type="xsd:string" />
                    <xsd:element name="Phone" type="typens:Phone" />
                    <xsd:element name="Charge" type="typens:Charge" />
                    <xsd:element name="Card" type="typens:Cards" />
                </xsd:sequence>
            </xsd:complexType>



Ответ от сервера:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <ag:exportResponse>
      <Card>
        <state>on</state>
        <pan>0000000000000</pan>
        <expiry>----</expiry>
        <Service>
          <serviceID>MB-ALL</serviceID>
          <serviceChannel>-</serviceChannel>
        </Service>
      </Card>
      <Card>
        <state>on</state>
        <pan>00000000000000</pan>
        <expiry>----</expiry>
        <Service>
          <serviceID>MB-ALL</serviceID>
          <serviceChannel>-</serviceChannel>
        </Service>
      </Card>
      <Phone>
        <state>on</state>
        <msisdn>----------</msisdn>
        <deliveryChannel>-</deliveryChannel>
      </Phone>
    </ag:exportResponse>
  </SOAP-ENV:Body>



Как мне WSDL переписать что бы Card генерировался как массив?
...
Рейтинг: 0 / 0
Генерация кода через WSDL. Не генерируется Array
    #39933040
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don VinNi
Как мне WSDL переписать что бы Card генерировался как массив?
А каким он сгенерировался сейчас?

И кстати, ответ от сервера не соответствует схеме
...
Рейтинг: 0 / 0
Генерация кода через WSDL. Не генерируется Array
    #39933058
Don VinNi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

ответ сервера был такой:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <ag:exportResponse>
      <cardholderID>------------</cardholderID>
      <bankId>----</bankId>
      <cardholderName>bla bla bla </cardholderName>
      <state>on</state>
      <language>ru_translit</language>
      <Charge>
        <agreementCharge>MONTH.FEE.OFF</agreementCharge>
        <chargeAccount/>
      </Charge>
      <Card>
        <state>on</state>
        <pan>-----</pan>
        <expiry>--</expiry>
        <label>----</label>
        <Service>
          <serviceID>---</serviceID>
          <serviceChannel>-</serviceChannel>
        </Service>
      </Card>
      <Card>
        <state>on</state>
        <pan>-------</pan>
        <expiry>2403</expiry>
        <Service>
          <serviceID>---</serviceID>
          <serviceChannel>-</serviceChannel>
        </Service>
      </Card>
      <Phone>
        <state>on</state>
        <msisdn>--------</msisdn>
        <deliveryChannel>-</deliveryChannel>
      </Phone>
    </ag:exportResponse>
  </SOAP-ENV:Body>



метод сгенерировался:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public void export(StringHolder cardholderID, StringHolder bankId, StringHolder cardholderName, StringHolder language, StringHolder state, PhoneHolder phone, ChargeHolder charge,CardHolder card) throws RemoteException {
        mobileBankPort.export(cardholderID, bankId, cardholderName, language, state, phone, charge, card);
    }

public final class CardHolder implements javax.xml.rpc.holders.Holder {
    public Card value;

    public CardHolder() {
    }

    public CardHolder(Card value) {
        this.value = value;
    }

}


Мне нужно сгенерировать в классе CardHolder свойства Card value как List<Card> value или массив Card[] value.
...
Рейтинг: 0 / 0
Генерация кода через WSDL. Не генерируется Array
    #39933109
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don VinNi
ответ сервера был такой:
Все равно неправильный. Элементы должны идти строго в таком порядке
Don VinNi
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<xsd:element name="cardholderID" type="xsd:string" />
<xsd:element name="bankId" type="xsd:string" />
<xsd:element name="cardholderName" type="xsd:string" />
<xsd:element name="language" type="xsd:string" />
<xsd:element name="state" type="xsd:string" />
<xsd:element name="Phone" type="typens:Phone" />
<xsd:element name="Charge" type="typens:Charge" />
<xsd:element name="Card" type="typens:Cards" />

...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Генерация кода через WSDL. Не генерируется Array
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]