Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Генерация кода через WSDL. Не генерируется Array / 4 сообщений из 4, страница 1 из 1
02.03.2020, 12:59
    #39932951
Don VinNi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация кода через WSDL. Не генерируется Array
Добрый день форумчане. Я в 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
02.03.2020, 15:34
    #39933040
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация кода через WSDL. Не генерируется Array
Don VinNi
Как мне WSDL переписать что бы Card генерировался как массив?
А каким он сгенерировался сейчас?

И кстати, ответ от сервера не соответствует схеме
...
Рейтинг: 0 / 0
02.03.2020, 15:49
    #39933058
Don VinNi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация кода через WSDL. Не генерируется Array
_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
02.03.2020, 16:46
    #39933109
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация кода через WSDL. Не генерируется Array
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
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Генерация кода через WSDL. Не генерируется Array / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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