@llm4ts/shell 2.12.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/flows/epic-stories.js +9 -3
  2. package/flows/lib/epic-stories.js +24 -4
  3. package/kits/soap-ace/README.md +313 -0
  4. package/kits/soap-ace/fixtures/demo-bank-soap/RUNBOOK.md +102 -0
  5. package/kits/soap-ace/fixtures/demo-bank-soap/design/api-design.md +620 -0
  6. package/kits/soap-ace/fixtures/demo-bank-soap/responses/cercaConti.xml +3 -0
  7. package/kits/soap-ace/fixtures/demo-bank-soap/responses/cercaMovimenti.xml +3 -0
  8. package/kits/soap-ace/fixtures/demo-bank-soap/responses/confermaBonifico.xml +3 -0
  9. package/kits/soap-ace/fixtures/demo-bank-soap/responses/dettaglioConto.xml +3 -0
  10. package/kits/soap-ace/fixtures/demo-bank-soap/responses/inserisciBonifico.xml +3 -0
  11. package/kits/soap-ace/fixtures/demo-bank-soap/responses/revocaBonifico.xml +3 -0
  12. package/kits/soap-ace/fixtures/demo-bank-soap/soapui/DemoBank-soapui-project.xml +39 -0
  13. package/kits/soap-ace/fixtures/demo-bank-soap/wsdl/DemoBank.wsdl +186 -0
  14. package/kits/soap-ace/fixtures/demo-bank-soap/wsdl/LegacyRpc.wsdl +29 -0
  15. package/kits/soap-ace/fixtures/demo-bank-soap/wsdl/xsd/banking.xsd +10 -0
  16. package/kits/soap-ace/fixtures/demo-bank-soap/wsdl/xsd/bonifici.xsd +107 -0
  17. package/kits/soap-ace/fixtures/demo-bank-soap/wsdl/xsd/common.xsd +93 -0
  18. package/kits/soap-ace/fixtures/demo-bank-soap/wsdl/xsd/conti.xsd +71 -0
  19. package/kits/soap-ace/fixtures/demo-bank-soap/wsdl/xsd/movimenti.xsd +55 -0
  20. package/kits/soap-ace/flows/lib/soap/Analysis.js +508 -0
  21. package/kits/soap-ace/flows/lib/soap/Auth.js +179 -0
  22. package/kits/soap-ace/flows/lib/soap/Call.js +186 -0
  23. package/kits/soap-ace/flows/lib/soap/CallPolicy.js +50 -0
  24. package/kits/soap-ace/flows/lib/soap/Catalog.js +157 -0
  25. package/kits/soap-ace/flows/lib/soap/Classification.js +254 -0
  26. package/kits/soap-ace/flows/lib/soap/Design.js +497 -0
  27. package/kits/soap-ace/flows/lib/soap/DesignProposal.js +204 -0
  28. package/kits/soap-ace/flows/lib/soap/Discover.js +139 -0
  29. package/kits/soap-ace/flows/lib/soap/Envelope.js +132 -0
  30. package/kits/soap-ace/flows/lib/soap/Epic.js +239 -0
  31. package/kits/soap-ace/flows/lib/soap/Instance.js +675 -0
  32. package/kits/soap-ace/flows/lib/soap/Mapping.js +130 -0
  33. package/kits/soap-ace/flows/lib/soap/Masking.js +508 -0
  34. package/kits/soap-ace/flows/lib/soap/OpenApi.js +288 -0
  35. package/kits/soap-ace/flows/lib/soap/Samples.js +287 -0
  36. package/kits/soap-ace/flows/lib/soap/Scenarios.js +132 -0
  37. package/kits/soap-ace/flows/lib/soap/SoapUiImport.js +200 -0
  38. package/kits/soap-ace/flows/lib/soap/Stub.js +34 -0
  39. package/kits/soap-ace/flows/lib/soap/Transport.js +167 -0
  40. package/kits/soap-ace/flows/lib/soap/Wsdl.js +533 -0
  41. package/kits/soap-ace/flows/lib/soap/Xml.js +453 -0
  42. package/kits/soap-ace/flows/lib/soap/Xsd.js +471 -0
  43. package/kits/soap-ace/flows/lib/soap/Yaml.js +309 -0
  44. package/kits/soap-ace/flows/soap-design.js +167 -0
  45. package/kits/soap-ace/flows/soap-discover.js +85 -0
  46. package/kits/soap-ace/flows/soap-epic.js +204 -0
  47. package/kits/soap-ace/flows/soap-sample.js +265 -0
  48. package/kits/soap-ace/packs/ace12-rest/api-style.md +63 -0
  49. package/kits/soap-ace/packs/ace12-rest/pack.md +18 -0
  50. package/kits/soap-ace/packs/ace12-rest/prompts/implement.md +8 -0
  51. package/kits/soap-ace/packs/ace12-rest/reviewers/contract.md +5 -0
  52. package/kits/soap-ace/patterns/PAT-ACE-001-esito-to-problem.md +8 -0
  53. package/kits/soap-ace/patterns/PAT-ACE-002-fault-to-problem.md +8 -0
  54. package/kits/soap-ace/patterns/PAT-ACE-003-amounts-and-enums.md +8 -0
  55. package/kits/soap-ace/patterns/PAT-ACE-004-pagination.md +7 -0
  56. package/kits/soap-ace/patterns/PAT-ACE-005-nil-and-absence.md +7 -0
  57. package/kits/soap-ace/scaffolds/ace12-rest-api/CONTRIBUTING.md +56 -0
  58. package/kits/soap-ace/scaffolds/ace12-rest-api/README.md +16 -0
  59. package/kits/soap-ace/scaffolds/ace12-rest-api/scripts/ace-gates-container.sh +8 -0
  60. package/kits/soap-ace/scaffolds/ace12-rest-api/scripts/ace-gates.sh +41 -0
  61. package/package.json +4 -4
@@ -0,0 +1,39 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Synthetic SoapUI project for the demo bank. No real data; the stored password is a dummy the importer must ignore. -->
3
+ <con:soapui-project id="demo" name="DemoBank" soapui-version="5.7.2" xmlns:con="http://eviware.com/soapui/config">
4
+ <con:settings/>
5
+ <con:interface xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="con:WsdlInterface" name="DemoBankSoap11" bindingName="{http://demobank.example/soap/banking/wsdl}DemoBankSoap11" soapVersion="1_1" definition="https://demobank-dev.example.internal/soap/DemoBank?wsdl">
6
+ <con:endpoints><con:endpoint>https://demobank-dev.example.internal/soap/DemoBank</con:endpoint></con:endpoints>
7
+ <con:operation name="cercaConti" action="http://demobank.example/soap/banking/cercaConti">
8
+ <con:call name="Conti attivi">
9
+ <con:settings/>
10
+ <con:encoding>UTF-8</con:encoding>
11
+ <con:endpoint>https://demobank-dev.example.internal/soap/DemoBank</con:endpoint>
12
+ <con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ban="http://demobank.example/soap/banking" xmlns:cmn="http://demobank.example/soap/common"><soapenv:Header/><soapenv:Body><ban:cercaConti><ban:codiceFiscale>RSSMRA85T10A562S</ban:codiceFiscale><ban:stato>ATTIVO</ban:stato></ban:cercaConti></soapenv:Body></soapenv:Envelope>]]></con:request>
13
+ <con:credentials><con:username>svc-demo</con:username><con:password>dummy-password-never-import</con:password><con:authType>Global HTTP Settings</con:authType></con:credentials>
14
+ </con:call>
15
+ </con:operation>
16
+ <con:operation name="dettaglioConto" action="http://demobank.example/soap/banking/dettaglioConto">
17
+ <con:call name="Request 1"><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ban="http://demobank.example/soap/banking" xmlns:cmn="http://demobank.example/soap/common"><soapenv:Header/><soapenv:Body><ban:dettaglioConto><ban:iban>?</ban:iban></ban:dettaglioConto></soapenv:Body></soapenv:Envelope>]]></con:request></con:call>
18
+ </con:operation>
19
+ </con:interface>
20
+ <con:testSuite name="Regressione">
21
+ <con:testCase name="Movimenti marzo">
22
+ <con:testStep type="request" name="Prima pagina">
23
+ <con:config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="con:RequestStep">
24
+ <con:interface>DemoBankSoap11</con:interface>
25
+ <con:operation>cercaMovimenti</con:operation>
26
+ <con:request name="Prima pagina"><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ban="http://demobank.example/soap/banking" xmlns:cmn="http://demobank.example/soap/common"><soapenv:Header/><soapenv:Body><ban:cercaMovimenti><ban:iban>IT60X0542811101000000123456</ban:iban><ban:dataDa>2026-03-01</ban:dataDa><ban:dataA>2026-03-31</ban:dataA><ban:paginazione><cmn:numeroPagina>1</cmn:numeroPagina><cmn:dimensionePagina>50</cmn:dimensionePagina></ban:paginazione></ban:cercaMovimenti></soapenv:Body></soapenv:Envelope>]]></con:request></con:request>
27
+ </con:config>
28
+ </con:testStep>
29
+ </con:testCase>
30
+ </con:testSuite>
31
+ <con:mockService name="DemoBank mock" port="8088" path="/mock">
32
+ <con:mockOperation name="cercaConti" interface="DemoBankSoap11" operation="cercaConti">
33
+ <con:response name="Conto sospeso"><con:responseContent><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ban="http://demobank.example/soap/banking" xmlns:cmn="http://demobank.example/soap/common"><soapenv:Header/><soapenv:Body><ban:cercaContiResponse><cmn:esito><cmn:codice>OK00</cmn:codice></cmn:esito><ban:conto><ban:iban>IT60X0542811101000000123456</ban:iban><ban:intestatario>Mario Rossi</ban:intestatario><ban:codiceFiscale>RSSMRA85T10A562S</ban:codiceFiscale><ban:saldo><cmn:valore>98.10</cmn:valore><cmn:divisa>EUR</cmn:divisa></ban:saldo><ban:stato>SOSPESO</ban:stato><ban:dataApertura>2019-04-01</ban:dataApertura><ban:canale>WEB</ban:canale></ban:conto></ban:cercaContiResponse></soapenv:Body></soapenv:Envelope>]]></con:responseContent></con:response>
34
+ </con:mockOperation>
35
+ <con:mockOperation name="confermaBonifico" interface="DemoBankSoap11" operation="confermaBonifico">
36
+ <con:response name="OTP errato"><con:responseContent><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ban="http://demobank.example/soap/banking" xmlns:cmn="http://demobank.example/soap/common"><soapenv:Header/><soapenv:Body><ban:confermaBonificoResponse><cmn:esito><cmn:codice>KO17</cmn:codice><cmn:descrizione>Codice OTP non valido</cmn:descrizione></cmn:esito></ban:confermaBonificoResponse></soapenv:Body></soapenv:Envelope>]]></con:responseContent></con:response>
37
+ </con:mockOperation>
38
+ </con:mockService>
39
+ </con:soapui-project>
@@ -0,0 +1,186 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Synthetic demo-bank SOAP service (document/literal wrapped). No real data. -->
3
+ <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
4
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
5
+ xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
6
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
7
+ xmlns:cmn="http://demobank.example/soap/common"
8
+ xmlns:bnk="http://demobank.example/soap/banking"
9
+ xmlns:tns="http://demobank.example/soap/banking/wsdl"
10
+ targetNamespace="http://demobank.example/soap/banking/wsdl"
11
+ name="DemoBank">
12
+ <wsdl:types>
13
+ <xs:schema targetNamespace="http://demobank.example/soap/banking/wsdl">
14
+ <xs:import namespace="http://demobank.example/soap/banking" schemaLocation="xsd/banking.xsd"/>
15
+ <xs:import namespace="http://demobank.example/soap/common" schemaLocation="xsd/common.xsd"/>
16
+ </xs:schema>
17
+ </wsdl:types>
18
+
19
+ <wsdl:message name="cercaContiRequest">
20
+ <wsdl:part name="parameters" element="bnk:cercaConti"/>
21
+ </wsdl:message>
22
+ <wsdl:message name="cercaContiResponse">
23
+ <wsdl:part name="parameters" element="bnk:cercaContiResponse"/>
24
+ </wsdl:message>
25
+ <wsdl:message name="dettaglioContoRequest">
26
+ <wsdl:part name="parameters" element="bnk:dettaglioConto"/>
27
+ </wsdl:message>
28
+ <wsdl:message name="dettaglioContoResponse">
29
+ <wsdl:part name="parameters" element="bnk:dettaglioContoResponse"/>
30
+ </wsdl:message>
31
+ <wsdl:message name="cercaMovimentiRequest">
32
+ <wsdl:part name="parameters" element="bnk:cercaMovimenti"/>
33
+ </wsdl:message>
34
+ <wsdl:message name="cercaMovimentiResponse">
35
+ <wsdl:part name="parameters" element="bnk:cercaMovimentiResponse"/>
36
+ </wsdl:message>
37
+ <wsdl:message name="inserisciBonificoRequest">
38
+ <wsdl:part name="parameters" element="bnk:inserisciBonifico"/>
39
+ </wsdl:message>
40
+ <wsdl:message name="inserisciBonificoResponse">
41
+ <wsdl:part name="parameters" element="bnk:inserisciBonificoResponse"/>
42
+ </wsdl:message>
43
+ <wsdl:message name="confermaBonificoRequest">
44
+ <wsdl:part name="parameters" element="bnk:confermaBonifico"/>
45
+ </wsdl:message>
46
+ <wsdl:message name="confermaBonificoResponse">
47
+ <wsdl:part name="parameters" element="bnk:confermaBonificoResponse"/>
48
+ </wsdl:message>
49
+ <wsdl:message name="revocaBonificoRequest">
50
+ <wsdl:part name="parameters" element="bnk:revocaBonifico"/>
51
+ </wsdl:message>
52
+ <wsdl:message name="revocaBonificoResponse">
53
+ <wsdl:part name="parameters" element="bnk:revocaBonificoResponse"/>
54
+ </wsdl:message>
55
+ <wsdl:message name="ServizioFault">
56
+ <wsdl:part name="fault" element="cmn:ServizioFault"/>
57
+ </wsdl:message>
58
+
59
+ <wsdl:portType name="DemoBankPortType">
60
+ <wsdl:operation name="cercaConti">
61
+ <wsdl:documentation>Lists the customer's current accounts by codice fiscale.</wsdl:documentation>
62
+ <wsdl:input message="tns:cercaContiRequest"/>
63
+ <wsdl:output message="tns:cercaContiResponse"/>
64
+ <wsdl:fault name="ServizioFault" message="tns:ServizioFault"/>
65
+ </wsdl:operation>
66
+ <wsdl:operation name="dettaglioConto">
67
+ <wsdl:documentation>Details of one account, including the overdraft (fido).</wsdl:documentation>
68
+ <wsdl:input message="tns:dettaglioContoRequest"/>
69
+ <wsdl:output message="tns:dettaglioContoResponse"/>
70
+ <wsdl:fault name="ServizioFault" message="tns:ServizioFault"/>
71
+ </wsdl:operation>
72
+ <wsdl:operation name="cercaMovimenti">
73
+ <wsdl:documentation>Paged account movements in a date window.</wsdl:documentation>
74
+ <wsdl:input message="tns:cercaMovimentiRequest"/>
75
+ <wsdl:output message="tns:cercaMovimentiResponse"/>
76
+ <wsdl:fault name="ServizioFault" message="tns:ServizioFault"/>
77
+ </wsdl:operation>
78
+ <wsdl:operation name="inserisciBonifico">
79
+ <wsdl:documentation>Registers a SEPA credit transfer awaiting SCA confirmation.</wsdl:documentation>
80
+ <wsdl:input message="tns:inserisciBonificoRequest"/>
81
+ <wsdl:output message="tns:inserisciBonificoResponse"/>
82
+ <wsdl:fault name="ServizioFault" message="tns:ServizioFault"/>
83
+ </wsdl:operation>
84
+ <wsdl:operation name="confermaBonifico">
85
+ <wsdl:documentation>Confirms an inserted transfer with the OTP.</wsdl:documentation>
86
+ <wsdl:input message="tns:confermaBonificoRequest"/>
87
+ <wsdl:output message="tns:confermaBonificoResponse"/>
88
+ <wsdl:fault name="ServizioFault" message="tns:ServizioFault"/>
89
+ </wsdl:operation>
90
+ <wsdl:operation name="revocaBonifico">
91
+ <wsdl:documentation>Revokes a transfer not yet executed.</wsdl:documentation>
92
+ <wsdl:input message="tns:revocaBonificoRequest"/>
93
+ <wsdl:output message="tns:revocaBonificoResponse"/>
94
+ <wsdl:fault name="ServizioFault" message="tns:ServizioFault"/>
95
+ </wsdl:operation>
96
+ </wsdl:portType>
97
+
98
+ <wsdl:binding name="DemoBankSoap11" type="tns:DemoBankPortType">
99
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
100
+ <wsdl:operation name="cercaConti">
101
+ <soap:operation soapAction="http://demobank.example/soap/banking/cercaConti"/>
102
+ <wsdl:input><soap:body use="literal"/></wsdl:input>
103
+ <wsdl:output><soap:body use="literal"/></wsdl:output>
104
+ <wsdl:fault name="ServizioFault"><soap:fault name="ServizioFault" use="literal"/></wsdl:fault>
105
+ </wsdl:operation>
106
+ <wsdl:operation name="dettaglioConto">
107
+ <soap:operation soapAction="http://demobank.example/soap/banking/dettaglioConto"/>
108
+ <wsdl:input><soap:body use="literal"/></wsdl:input>
109
+ <wsdl:output><soap:body use="literal"/></wsdl:output>
110
+ <wsdl:fault name="ServizioFault"><soap:fault name="ServizioFault" use="literal"/></wsdl:fault>
111
+ </wsdl:operation>
112
+ <wsdl:operation name="cercaMovimenti">
113
+ <soap:operation soapAction="http://demobank.example/soap/banking/cercaMovimenti"/>
114
+ <wsdl:input><soap:body use="literal"/></wsdl:input>
115
+ <wsdl:output><soap:body use="literal"/></wsdl:output>
116
+ <wsdl:fault name="ServizioFault"><soap:fault name="ServizioFault" use="literal"/></wsdl:fault>
117
+ </wsdl:operation>
118
+ <wsdl:operation name="inserisciBonifico">
119
+ <soap:operation soapAction="http://demobank.example/soap/banking/inserisciBonifico"/>
120
+ <wsdl:input><soap:body use="literal"/></wsdl:input>
121
+ <wsdl:output><soap:body use="literal"/></wsdl:output>
122
+ <wsdl:fault name="ServizioFault"><soap:fault name="ServizioFault" use="literal"/></wsdl:fault>
123
+ </wsdl:operation>
124
+ <wsdl:operation name="confermaBonifico">
125
+ <soap:operation soapAction="http://demobank.example/soap/banking/confermaBonifico"/>
126
+ <wsdl:input><soap:body use="literal"/></wsdl:input>
127
+ <wsdl:output><soap:body use="literal"/></wsdl:output>
128
+ <wsdl:fault name="ServizioFault"><soap:fault name="ServizioFault" use="literal"/></wsdl:fault>
129
+ </wsdl:operation>
130
+ <wsdl:operation name="revocaBonifico">
131
+ <soap:operation soapAction="http://demobank.example/soap/banking/revocaBonifico"/>
132
+ <wsdl:input><soap:body use="literal"/></wsdl:input>
133
+ <wsdl:output><soap:body use="literal"/></wsdl:output>
134
+ <wsdl:fault name="ServizioFault"><soap:fault name="ServizioFault" use="literal"/></wsdl:fault>
135
+ </wsdl:operation>
136
+ </wsdl:binding>
137
+
138
+ <wsdl:binding name="DemoBankSoap12" type="tns:DemoBankPortType">
139
+ <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
140
+ <wsdl:operation name="cercaConti">
141
+ <soap12:operation soapAction="http://demobank.example/soap/banking/cercaConti"/>
142
+ <wsdl:input><soap12:body use="literal"/></wsdl:input>
143
+ <wsdl:output><soap12:body use="literal"/></wsdl:output>
144
+ <wsdl:fault name="ServizioFault"><soap12:fault name="ServizioFault" use="literal"/></wsdl:fault>
145
+ </wsdl:operation>
146
+ <wsdl:operation name="dettaglioConto">
147
+ <soap12:operation soapAction="http://demobank.example/soap/banking/dettaglioConto"/>
148
+ <wsdl:input><soap12:body use="literal"/></wsdl:input>
149
+ <wsdl:output><soap12:body use="literal"/></wsdl:output>
150
+ <wsdl:fault name="ServizioFault"><soap12:fault name="ServizioFault" use="literal"/></wsdl:fault>
151
+ </wsdl:operation>
152
+ <wsdl:operation name="cercaMovimenti">
153
+ <soap12:operation soapAction="http://demobank.example/soap/banking/cercaMovimenti"/>
154
+ <wsdl:input><soap12:body use="literal"/></wsdl:input>
155
+ <wsdl:output><soap12:body use="literal"/></wsdl:output>
156
+ <wsdl:fault name="ServizioFault"><soap12:fault name="ServizioFault" use="literal"/></wsdl:fault>
157
+ </wsdl:operation>
158
+ <wsdl:operation name="inserisciBonifico">
159
+ <soap12:operation soapAction="http://demobank.example/soap/banking/inserisciBonifico"/>
160
+ <wsdl:input><soap12:body use="literal"/></wsdl:input>
161
+ <wsdl:output><soap12:body use="literal"/></wsdl:output>
162
+ <wsdl:fault name="ServizioFault"><soap12:fault name="ServizioFault" use="literal"/></wsdl:fault>
163
+ </wsdl:operation>
164
+ <wsdl:operation name="confermaBonifico">
165
+ <soap12:operation soapAction="http://demobank.example/soap/banking/confermaBonifico"/>
166
+ <wsdl:input><soap12:body use="literal"/></wsdl:input>
167
+ <wsdl:output><soap12:body use="literal"/></wsdl:output>
168
+ <wsdl:fault name="ServizioFault"><soap12:fault name="ServizioFault" use="literal"/></wsdl:fault>
169
+ </wsdl:operation>
170
+ <wsdl:operation name="revocaBonifico">
171
+ <soap12:operation soapAction="http://demobank.example/soap/banking/revocaBonifico"/>
172
+ <wsdl:input><soap12:body use="literal"/></wsdl:input>
173
+ <wsdl:output><soap12:body use="literal"/></wsdl:output>
174
+ <wsdl:fault name="ServizioFault"><soap12:fault name="ServizioFault" use="literal"/></wsdl:fault>
175
+ </wsdl:operation>
176
+ </wsdl:binding>
177
+
178
+ <wsdl:service name="DemoBankService">
179
+ <wsdl:port name="DemoBankPort" binding="tns:DemoBankSoap11">
180
+ <soap:address location="https://demobank-dev.example.internal/soap/DemoBank"/>
181
+ </wsdl:port>
182
+ <wsdl:port name="DemoBankPort12" binding="tns:DemoBankSoap12">
183
+ <soap12:address location="https://demobank-dev.example.internal/soap12/DemoBank"/>
184
+ </wsdl:port>
185
+ </wsdl:service>
186
+ </wsdl:definitions>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Synthetic RPC/encoded service: out of v1 scope, discovery must refuse it by name. -->
3
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
4
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
5
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
+ xmlns:tns="urn:demobank:legacy"
7
+ targetNamespace="urn:demobank:legacy">
8
+ <message name="saldoRequest"><part name="conto" type="xsd:string"/></message>
9
+ <message name="saldoResponse"><part name="saldo" type="xsd:decimal"/></message>
10
+ <portType name="LegacyPort">
11
+ <operation name="saldo">
12
+ <input message="tns:saldoRequest"/>
13
+ <output message="tns:saldoResponse"/>
14
+ </operation>
15
+ </portType>
16
+ <binding name="LegacyRpcBinding" type="tns:LegacyPort">
17
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
18
+ <operation name="saldo">
19
+ <soap:operation soapAction="urn:saldo"/>
20
+ <input><soap:body use="encoded" namespace="urn:demobank:legacy" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
21
+ <output><soap:body use="encoded" namespace="urn:demobank:legacy" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
22
+ </operation>
23
+ </binding>
24
+ <service name="LegacyService">
25
+ <port name="LegacyPort" binding="tns:LegacyRpcBinding">
26
+ <soap:address location="http://legacy-dev.example.internal/rpc"/>
27
+ </port>
28
+ </service>
29
+ </definitions>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Synthetic demo-bank banking schema: imports common, includes the per-domain parts. -->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ targetNamespace="http://demobank.example/soap/banking"
5
+ elementFormDefault="qualified">
6
+ <xs:import namespace="http://demobank.example/soap/common" schemaLocation="common.xsd"/>
7
+ <xs:include schemaLocation="conti.xsd"/>
8
+ <xs:include schemaLocation="movimenti.xsd"/>
9
+ <xs:include schemaLocation="bonifici.xsd"/>
10
+ </xs:schema>
@@ -0,0 +1,107 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
+ xmlns:cmn="http://demobank.example/soap/common"
4
+ xmlns:tns="http://demobank.example/soap/banking"
5
+ targetNamespace="http://demobank.example/soap/banking"
6
+ elementFormDefault="qualified">
7
+ <xs:import namespace="http://demobank.example/soap/common" schemaLocation="common.xsd"/>
8
+
9
+ <xs:simpleType name="StatoBonifico">
10
+ <xs:restriction base="xs:string">
11
+ <xs:enumeration value="INSERITO"/>
12
+ <xs:enumeration value="CONFERMATO"/>
13
+ <xs:enumeration value="ESEGUITO"/>
14
+ <xs:enumeration value="REVOCATO"/>
15
+ <xs:enumeration value="RIFIUTATO"/>
16
+ </xs:restriction>
17
+ </xs:simpleType>
18
+
19
+ <xs:complexType name="BeneficiarioType">
20
+ <xs:sequence>
21
+ <xs:element name="nome" type="xs:string"/>
22
+ <xs:element name="iban" type="cmn:IbanType"/>
23
+ </xs:sequence>
24
+ </xs:complexType>
25
+
26
+ <xs:element name="inserisciBonifico">
27
+ <xs:annotation><xs:documentation>Registers a SEPA credit transfer awaiting SCA confirmation.</xs:documentation></xs:annotation>
28
+ <xs:complexType>
29
+ <xs:sequence>
30
+ <xs:element name="ibanOrdinante" type="cmn:IbanType"/>
31
+ <xs:element name="beneficiario" type="tns:BeneficiarioType"/>
32
+ <xs:element name="importo" type="cmn:ImportoType"/>
33
+ <xs:element name="causale">
34
+ <xs:simpleType>
35
+ <xs:restriction base="xs:string">
36
+ <xs:maxLength value="140"/>
37
+ </xs:restriction>
38
+ </xs:simpleType>
39
+ </xs:element>
40
+ <xs:element name="dataEsecuzione" type="xs:date" minOccurs="0"/>
41
+ <xs:element name="datiAggiuntivi" minOccurs="0">
42
+ <xs:complexType>
43
+ <xs:sequence>
44
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
45
+ </xs:sequence>
46
+ </xs:complexType>
47
+ </xs:element>
48
+ </xs:sequence>
49
+ </xs:complexType>
50
+ </xs:element>
51
+
52
+ <xs:element name="inserisciBonificoResponse">
53
+ <xs:complexType>
54
+ <xs:complexContent>
55
+ <xs:extension base="cmn:RispostaBase">
56
+ <xs:sequence>
57
+ <xs:element name="idBonifico" type="xs:string" minOccurs="0"/>
58
+ <xs:element name="stato" type="tns:StatoBonifico" minOccurs="0"/>
59
+ <xs:element name="commissioni" type="cmn:ImportoType" minOccurs="0"/>
60
+ </xs:sequence>
61
+ </xs:extension>
62
+ </xs:complexContent>
63
+ </xs:complexType>
64
+ </xs:element>
65
+
66
+ <xs:element name="confermaBonifico">
67
+ <xs:complexType>
68
+ <xs:sequence>
69
+ <xs:element name="idBonifico" type="xs:string"/>
70
+ <xs:element name="codiceOtp" type="xs:string"/>
71
+ </xs:sequence>
72
+ </xs:complexType>
73
+ </xs:element>
74
+
75
+ <xs:element name="confermaBonificoResponse">
76
+ <xs:complexType>
77
+ <xs:complexContent>
78
+ <xs:extension base="cmn:RispostaBase">
79
+ <xs:sequence>
80
+ <xs:element name="stato" type="tns:StatoBonifico" minOccurs="0"/>
81
+ <xs:element name="cro" type="xs:string" minOccurs="0"/>
82
+ </xs:sequence>
83
+ </xs:extension>
84
+ </xs:complexContent>
85
+ </xs:complexType>
86
+ </xs:element>
87
+
88
+ <xs:element name="revocaBonifico">
89
+ <xs:complexType>
90
+ <xs:sequence>
91
+ <xs:element name="idBonifico" type="xs:string"/>
92
+ </xs:sequence>
93
+ </xs:complexType>
94
+ </xs:element>
95
+
96
+ <xs:element name="revocaBonificoResponse">
97
+ <xs:complexType>
98
+ <xs:complexContent>
99
+ <xs:extension base="cmn:RispostaBase">
100
+ <xs:sequence>
101
+ <xs:element name="stato" type="tns:StatoBonifico" minOccurs="0"/>
102
+ </xs:sequence>
103
+ </xs:extension>
104
+ </xs:complexContent>
105
+ </xs:complexType>
106
+ </xs:element>
107
+ </xs:schema>
@@ -0,0 +1,93 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Synthetic demo-bank common types. No real data. -->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:cmn="http://demobank.example/soap/common"
5
+ targetNamespace="http://demobank.example/soap/common"
6
+ elementFormDefault="qualified">
7
+
8
+ <xs:simpleType name="CodiceEsito">
9
+ <xs:annotation><xs:documentation>OK00 = success; KOnn = business error; WAnn = warning.</xs:documentation></xs:annotation>
10
+ <xs:restriction base="xs:string">
11
+ <xs:pattern value="(OK|KO|WA)[0-9]{2}"/>
12
+ </xs:restriction>
13
+ </xs:simpleType>
14
+
15
+ <xs:complexType name="EsitoType">
16
+ <xs:sequence>
17
+ <xs:element name="codice" type="cmn:CodiceEsito"/>
18
+ <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
19
+ </xs:sequence>
20
+ </xs:complexType>
21
+
22
+ <xs:complexType name="RispostaBase">
23
+ <xs:annotation><xs:documentation>Every response carries the esito envelope.</xs:documentation></xs:annotation>
24
+ <xs:sequence>
25
+ <xs:element name="esito" type="cmn:EsitoType"/>
26
+ </xs:sequence>
27
+ </xs:complexType>
28
+
29
+ <xs:simpleType name="Divisa">
30
+ <xs:restriction base="xs:string">
31
+ <xs:length value="3"/>
32
+ <xs:pattern value="[A-Z]{3}"/>
33
+ </xs:restriction>
34
+ </xs:simpleType>
35
+
36
+ <xs:complexType name="ImportoType">
37
+ <xs:sequence>
38
+ <xs:element name="valore">
39
+ <xs:simpleType>
40
+ <xs:restriction base="xs:decimal">
41
+ <xs:totalDigits value="15"/>
42
+ <xs:fractionDigits value="2"/>
43
+ </xs:restriction>
44
+ </xs:simpleType>
45
+ </xs:element>
46
+ <xs:element name="divisa" type="cmn:Divisa"/>
47
+ </xs:sequence>
48
+ </xs:complexType>
49
+
50
+ <xs:simpleType name="IbanType">
51
+ <xs:restriction base="xs:string">
52
+ <xs:length value="27"/>
53
+ <xs:pattern value="IT[0-9]{2}[A-Z][0-9]{10}[0-9A-Z]{12}"/>
54
+ </xs:restriction>
55
+ </xs:simpleType>
56
+
57
+ <xs:simpleType name="CodiceFiscaleType">
58
+ <xs:restriction base="xs:string">
59
+ <xs:pattern value="[A-Z]{6}[0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]"/>
60
+ </xs:restriction>
61
+ </xs:simpleType>
62
+
63
+ <xs:complexType name="PaginazioneRichiesta">
64
+ <xs:sequence>
65
+ <xs:element name="numeroPagina" type="xs:int"/>
66
+ <xs:element name="dimensionePagina">
67
+ <xs:simpleType>
68
+ <xs:restriction base="xs:int">
69
+ <xs:minInclusive value="1"/>
70
+ <xs:maxInclusive value="100"/>
71
+ </xs:restriction>
72
+ </xs:simpleType>
73
+ </xs:element>
74
+ </xs:sequence>
75
+ </xs:complexType>
76
+
77
+ <xs:complexType name="PaginazioneRisposta">
78
+ <xs:sequence>
79
+ <xs:element name="numeroPagina" type="xs:int"/>
80
+ <xs:element name="ultimaPagina" type="xs:boolean"/>
81
+ <xs:element name="totaleRecord" type="xs:int" minOccurs="0"/>
82
+ </xs:sequence>
83
+ </xs:complexType>
84
+
85
+ <xs:element name="ServizioFault">
86
+ <xs:complexType>
87
+ <xs:sequence>
88
+ <xs:element name="codice" type="xs:string"/>
89
+ <xs:element name="messaggio" type="xs:string"/>
90
+ </xs:sequence>
91
+ </xs:complexType>
92
+ </xs:element>
93
+ </xs:schema>
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
+ xmlns:cmn="http://demobank.example/soap/common"
4
+ xmlns:tns="http://demobank.example/soap/banking"
5
+ targetNamespace="http://demobank.example/soap/banking"
6
+ elementFormDefault="qualified">
7
+ <xs:import namespace="http://demobank.example/soap/common" schemaLocation="common.xsd"/>
8
+
9
+ <xs:simpleType name="StatoConto">
10
+ <xs:restriction base="xs:string">
11
+ <xs:enumeration value="ATTIVO"/>
12
+ <xs:enumeration value="BLOCCATO"/>
13
+ <xs:enumeration value="ESTINTO"/>
14
+ </xs:restriction>
15
+ </xs:simpleType>
16
+
17
+ <xs:complexType name="ContoType">
18
+ <xs:sequence>
19
+ <xs:element name="iban" type="cmn:IbanType"/>
20
+ <xs:element name="intestatario" type="xs:string"/>
21
+ <xs:element name="codiceFiscale" type="cmn:CodiceFiscaleType"/>
22
+ <xs:element name="saldo" type="cmn:ImportoType"/>
23
+ <xs:element name="stato" type="tns:StatoConto"/>
24
+ <xs:element name="dataApertura" type="xs:date"/>
25
+ <xs:element name="filiale" type="xs:string" minOccurs="0"/>
26
+ </xs:sequence>
27
+ </xs:complexType>
28
+
29
+ <xs:element name="cercaConti">
30
+ <xs:annotation><xs:documentation>Lists the customer's current accounts.</xs:documentation></xs:annotation>
31
+ <xs:complexType>
32
+ <xs:sequence>
33
+ <xs:element name="codiceFiscale" type="cmn:CodiceFiscaleType"/>
34
+ <xs:element name="stato" type="tns:StatoConto" minOccurs="0"/>
35
+ </xs:sequence>
36
+ </xs:complexType>
37
+ </xs:element>
38
+
39
+ <xs:element name="cercaContiResponse">
40
+ <xs:complexType>
41
+ <xs:complexContent>
42
+ <xs:extension base="cmn:RispostaBase">
43
+ <xs:sequence>
44
+ <xs:element name="conto" type="tns:ContoType" minOccurs="0" maxOccurs="unbounded"/>
45
+ </xs:sequence>
46
+ </xs:extension>
47
+ </xs:complexContent>
48
+ </xs:complexType>
49
+ </xs:element>
50
+
51
+ <xs:element name="dettaglioConto">
52
+ <xs:complexType>
53
+ <xs:sequence>
54
+ <xs:element name="iban" type="cmn:IbanType"/>
55
+ </xs:sequence>
56
+ </xs:complexType>
57
+ </xs:element>
58
+
59
+ <xs:element name="dettaglioContoResponse">
60
+ <xs:complexType>
61
+ <xs:complexContent>
62
+ <xs:extension base="cmn:RispostaBase">
63
+ <xs:sequence>
64
+ <xs:element name="conto" type="tns:ContoType" minOccurs="0"/>
65
+ <xs:element name="fido" type="cmn:ImportoType" minOccurs="0" nillable="true"/>
66
+ </xs:sequence>
67
+ </xs:extension>
68
+ </xs:complexContent>
69
+ </xs:complexType>
70
+ </xs:element>
71
+ </xs:schema>
@@ -0,0 +1,55 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!-- Latin-1 on purpose: older estates ship their schemas in ISO-8859-1. -->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:cmn="http://demobank.example/soap/common"
5
+ xmlns:tns="http://demobank.example/soap/banking"
6
+ targetNamespace="http://demobank.example/soap/banking"
7
+ elementFormDefault="qualified">
8
+ <xs:import namespace="http://demobank.example/soap/common" schemaLocation="common.xsd"/>
9
+
10
+ <xs:complexType name="MovimentoType">
11
+ <xs:annotation><xs:documentation>Movimento contabile: la citt� della filiale � facoltativa.</xs:documentation></xs:annotation>
12
+ <xs:sequence>
13
+ <xs:element name="idMovimento" type="xs:string"/>
14
+ <xs:element name="dataContabile" type="xs:date"/>
15
+ <xs:element name="dataValuta" type="xs:date"/>
16
+ <xs:element name="importo" type="cmn:ImportoType"/>
17
+ <xs:element name="segno">
18
+ <xs:simpleType>
19
+ <xs:restriction base="xs:string">
20
+ <xs:enumeration value="D"/>
21
+ <xs:enumeration value="A"/>
22
+ </xs:restriction>
23
+ </xs:simpleType>
24
+ </xs:element>
25
+ <xs:element name="causale" type="xs:string"/>
26
+ <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
27
+ <xs:element name="cittaFiliale" type="xs:string" minOccurs="0"/>
28
+ </xs:sequence>
29
+ </xs:complexType>
30
+
31
+ <xs:element name="cercaMovimenti">
32
+ <xs:annotation><xs:documentation>Movimenti di un conto, dal pi� recente, a pagine.</xs:documentation></xs:annotation>
33
+ <xs:complexType>
34
+ <xs:sequence>
35
+ <xs:element name="iban" type="cmn:IbanType"/>
36
+ <xs:element name="dataDa" type="xs:date"/>
37
+ <xs:element name="dataA" type="xs:date"/>
38
+ <xs:element name="paginazione" type="cmn:PaginazioneRichiesta"/>
39
+ </xs:sequence>
40
+ </xs:complexType>
41
+ </xs:element>
42
+
43
+ <xs:element name="cercaMovimentiResponse">
44
+ <xs:complexType>
45
+ <xs:complexContent>
46
+ <xs:extension base="cmn:RispostaBase">
47
+ <xs:sequence>
48
+ <xs:element name="movimento" type="tns:MovimentoType" minOccurs="0" maxOccurs="unbounded"/>
49
+ <xs:element name="paginazione" type="cmn:PaginazioneRisposta" minOccurs="0"/>
50
+ </xs:sequence>
51
+ </xs:extension>
52
+ </xs:complexContent>
53
+ </xs:complexType>
54
+ </xs:element>
55
+ </xs:schema>