tomdz-soap4r 1.5.8.20111103171510
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.
- data/bin/wsdl2ruby.rb +139 -0
- data/bin/xsd2ruby.rb +91 -0
- data/lib/soap/attachment.rb +109 -0
- data/lib/soap/attrproxy.rb +35 -0
- data/lib/soap/baseData.rb +1095 -0
- data/lib/soap/element.rb +278 -0
- data/lib/soap/encodingstyle/aspDotNetHandler.rb +208 -0
- data/lib/soap/encodingstyle/handler.rb +121 -0
- data/lib/soap/encodingstyle/literalHandler.rb +196 -0
- data/lib/soap/encodingstyle/soapHandler.rb +560 -0
- data/lib/soap/filter.rb +14 -0
- data/lib/soap/filter/filterchain.rb +52 -0
- data/lib/soap/filter/handler.rb +32 -0
- data/lib/soap/filter/streamhandler.rb +30 -0
- data/lib/soap/generator.rb +299 -0
- data/lib/soap/header/handler.rb +62 -0
- data/lib/soap/header/handlerset.rb +71 -0
- data/lib/soap/header/mappinghandler.rb +48 -0
- data/lib/soap/header/simplehandler.rb +45 -0
- data/lib/soap/httpconfigloader.rb +140 -0
- data/lib/soap/mapping.rb +13 -0
- data/lib/soap/mapping/encodedregistry.rb +539 -0
- data/lib/soap/mapping/factory.rb +389 -0
- data/lib/soap/mapping/literalregistry.rb +392 -0
- data/lib/soap/mapping/mapping.rb +577 -0
- data/lib/soap/mapping/registry.rb +296 -0
- data/lib/soap/mapping/rubytypeFactory.rb +446 -0
- data/lib/soap/mapping/schemadefinition.rb +171 -0
- data/lib/soap/mapping/typeMap.rb +107 -0
- data/lib/soap/mapping/wsdlencodedregistry.rb +212 -0
- data/lib/soap/mapping/wsdlliteralregistry.rb +249 -0
- data/lib/soap/marshal.rb +60 -0
- data/lib/soap/mimemessage.rb +243 -0
- data/lib/soap/nestedexception.rb +43 -0
- data/lib/soap/netHttpClient.rb +242 -0
- data/lib/soap/ns.rb +39 -0
- data/lib/soap/parser.rb +253 -0
- data/lib/soap/processor.rb +67 -0
- data/lib/soap/property.rb +340 -0
- data/lib/soap/proxy.rb +15 -0
- data/lib/soap/rpc/cgistub.rb +248 -0
- data/lib/soap/rpc/driver.rb +222 -0
- data/lib/soap/rpc/element.rb +375 -0
- data/lib/soap/rpc/httpserver.rb +143 -0
- data/lib/soap/rpc/methodDef.rb +69 -0
- data/lib/soap/rpc/proxy.rb +573 -0
- data/lib/soap/rpc/router.rb +663 -0
- data/lib/soap/rpc/rpc.rb +26 -0
- data/lib/soap/rpc/soaplet.rb +201 -0
- data/lib/soap/rpc/standaloneServer.rb +44 -0
- data/lib/soap/soap.rb +154 -0
- data/lib/soap/streamHandler.rb +302 -0
- data/lib/soap/version.rb +9 -0
- data/lib/soap/wsdlDriver.rb +165 -0
- data/lib/wsdl/binding.rb +66 -0
- data/lib/wsdl/data.rb +65 -0
- data/lib/wsdl/definitions.rb +237 -0
- data/lib/wsdl/documentation.rb +33 -0
- data/lib/wsdl/import.rb +81 -0
- data/lib/wsdl/importer.rb +39 -0
- data/lib/wsdl/info.rb +51 -0
- data/lib/wsdl/message.rb +55 -0
- data/lib/wsdl/operation.rb +152 -0
- data/lib/wsdl/operationBinding.rb +241 -0
- data/lib/wsdl/param.rb +94 -0
- data/lib/wsdl/parser.rb +165 -0
- data/lib/wsdl/part.rb +53 -0
- data/lib/wsdl/port.rb +67 -0
- data/lib/wsdl/portType.rb +76 -0
- data/lib/wsdl/service.rb +62 -0
- data/lib/wsdl/soap/address.rb +41 -0
- data/lib/wsdl/soap/binding.rb +50 -0
- data/lib/wsdl/soap/body.rb +59 -0
- data/lib/wsdl/soap/cgiStubCreator.rb +93 -0
- data/lib/wsdl/soap/classDefCreator.rb +434 -0
- data/lib/wsdl/soap/classDefCreatorSupport.rb +241 -0
- data/lib/wsdl/soap/classNameCreator.rb +55 -0
- data/lib/wsdl/soap/clientSkeltonCreator.rb +107 -0
- data/lib/wsdl/soap/complexType.rb +174 -0
- data/lib/wsdl/soap/data.rb +43 -0
- data/lib/wsdl/soap/definitions.rb +201 -0
- data/lib/wsdl/soap/driverCreator.rb +121 -0
- data/lib/wsdl/soap/element.rb +34 -0
- data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +74 -0
- data/lib/wsdl/soap/fault.rb +57 -0
- data/lib/wsdl/soap/header.rb +87 -0
- data/lib/wsdl/soap/headerfault.rb +57 -0
- data/lib/wsdl/soap/literalMappingRegistryCreator.rb +116 -0
- data/lib/wsdl/soap/mappingRegistryCreator.rb +59 -0
- data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +377 -0
- data/lib/wsdl/soap/methodDefCreator.rb +200 -0
- data/lib/wsdl/soap/operation.rb +113 -0
- data/lib/wsdl/soap/servantSkeltonCreator.rb +92 -0
- data/lib/wsdl/soap/servletStubCreator.rb +105 -0
- data/lib/wsdl/soap/standaloneServerStubCreator.rb +101 -0
- data/lib/wsdl/soap/wsdl2ruby.rb +226 -0
- data/lib/wsdl/types.rb +45 -0
- data/lib/wsdl/wsdl.rb +25 -0
- data/lib/wsdl/xmlSchema/all.rb +25 -0
- data/lib/wsdl/xmlSchema/annotation.rb +35 -0
- data/lib/wsdl/xmlSchema/any.rb +62 -0
- data/lib/wsdl/xmlSchema/anyAttribute.rb +49 -0
- data/lib/wsdl/xmlSchema/attribute.rb +105 -0
- data/lib/wsdl/xmlSchema/attributeGroup.rb +69 -0
- data/lib/wsdl/xmlSchema/choice.rb +59 -0
- data/lib/wsdl/xmlSchema/complexContent.rb +98 -0
- data/lib/wsdl/xmlSchema/complexExtension.rb +120 -0
- data/lib/wsdl/xmlSchema/complexRestriction.rb +105 -0
- data/lib/wsdl/xmlSchema/complexType.rb +194 -0
- data/lib/wsdl/xmlSchema/content.rb +96 -0
- data/lib/wsdl/xmlSchema/data.rb +117 -0
- data/lib/wsdl/xmlSchema/element.rb +154 -0
- data/lib/wsdl/xmlSchema/enumeration.rb +37 -0
- data/lib/wsdl/xmlSchema/fractiondigits.rb +38 -0
- data/lib/wsdl/xmlSchema/group.rb +101 -0
- data/lib/wsdl/xmlSchema/import.rb +54 -0
- data/lib/wsdl/xmlSchema/importHandler.rb +46 -0
- data/lib/wsdl/xmlSchema/importer.rb +103 -0
- data/lib/wsdl/xmlSchema/include.rb +49 -0
- data/lib/wsdl/xmlSchema/length.rb +38 -0
- data/lib/wsdl/xmlSchema/list.rb +49 -0
- data/lib/wsdl/xmlSchema/maxexclusive.rb +38 -0
- data/lib/wsdl/xmlSchema/maxinclusive.rb +38 -0
- data/lib/wsdl/xmlSchema/maxlength.rb +38 -0
- data/lib/wsdl/xmlSchema/minexclusive.rb +38 -0
- data/lib/wsdl/xmlSchema/mininclusive.rb +38 -0
- data/lib/wsdl/xmlSchema/minlength.rb +38 -0
- data/lib/wsdl/xmlSchema/parser.rb +168 -0
- data/lib/wsdl/xmlSchema/pattern.rb +37 -0
- data/lib/wsdl/xmlSchema/ref.rb +34 -0
- data/lib/wsdl/xmlSchema/schema.rb +179 -0
- data/lib/wsdl/xmlSchema/sequence.rb +55 -0
- data/lib/wsdl/xmlSchema/simpleContent.rb +70 -0
- data/lib/wsdl/xmlSchema/simpleExtension.rb +63 -0
- data/lib/wsdl/xmlSchema/simpleRestriction.rb +133 -0
- data/lib/wsdl/xmlSchema/simpleType.rb +88 -0
- data/lib/wsdl/xmlSchema/totaldigits.rb +38 -0
- data/lib/wsdl/xmlSchema/union.rb +36 -0
- data/lib/wsdl/xmlSchema/unique.rb +35 -0
- data/lib/wsdl/xmlSchema/whitespace.rb +38 -0
- data/lib/wsdl/xmlSchema/xsd2ruby.rb +176 -0
- data/lib/xsd/charset.rb +190 -0
- data/lib/xsd/codegen.rb +13 -0
- data/lib/xsd/codegen/classdef.rb +209 -0
- data/lib/xsd/codegen/commentdef.rb +35 -0
- data/lib/xsd/codegen/gensupport.rb +277 -0
- data/lib/xsd/codegen/methoddef.rb +71 -0
- data/lib/xsd/codegen/moduledef.rb +209 -0
- data/lib/xsd/datatypes.rb +1466 -0
- data/lib/xsd/datatypes1999.rb +21 -0
- data/lib/xsd/iconvcharset.rb +34 -0
- data/lib/xsd/mapping.rb +69 -0
- data/lib/xsd/namedelements.rb +133 -0
- data/lib/xsd/ns.rb +183 -0
- data/lib/xsd/qname.rb +80 -0
- data/lib/xsd/xmlparser.rb +77 -0
- data/lib/xsd/xmlparser/libxmlparser.rb +116 -0
- data/lib/xsd/xmlparser/parser.rb +101 -0
- data/lib/xsd/xmlparser/rexmlparser.rb +59 -0
- data/lib/xsd/xmlparser/xmlparser.rb +51 -0
- data/lib/xsd/xmlparser/xmlscanner.rb +150 -0
- data/test/16runner.rb +69 -0
- data/test/helper.rb +7 -0
- data/test/interopR2/README.txt +2 -0
- data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
- data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
- data/test/interopR2/base.rb +289 -0
- data/test/interopR2/client.NetRemoting.rb +18 -0
- data/test/interopR2/client.rb +1235 -0
- data/test/interopR2/client4S4C.rb +16 -0
- data/test/interopR2/client4S4C2.rb +15 -0
- data/test/interopR2/clientASP.NET.rb +18 -0
- data/test/interopR2/clientApacheAxis.rb +17 -0
- data/test/interopR2/clientApacheSOAP.rb +18 -0
- data/test/interopR2/clientBEAWebLogic.rb +18 -0
- data/test/interopR2/clientBase.rb +1968 -0
- data/test/interopR2/clientCapeConnect.rb +19 -0
- data/test/interopR2/clientDelphi.rb +20 -0
- data/test/interopR2/clientEasySoap.rb +15 -0
- data/test/interopR2/clientFrontier.rb +26 -0
- data/test/interopR2/clientGLUE.rb +33 -0
- data/test/interopR2/clientHP.rb +14 -0
- data/test/interopR2/clientJAX-RPC.rb +20 -0
- data/test/interopR2/clientJSOAP.rb +15 -0
- data/test/interopR2/clientKafkaXSLT.rb +16 -0
- data/test/interopR2/clientMSSOAPToolkit2.0.rb +18 -0
- data/test/interopR2/clientMSSOAPToolkit3.0.rb +18 -0
- data/test/interopR2/clientNuSOAP.rb +20 -0
- data/test/interopR2/clientNuWave.rb +16 -0
- data/test/interopR2/clientOpenLink.rb +16 -0
- data/test/interopR2/clientOracle.rb +16 -0
- data/test/interopR2/clientPEAR.rb +19 -0
- data/test/interopR2/clientPhalanx.rb +19 -0
- data/test/interopR2/clientSIMACE.rb +19 -0
- data/test/interopR2/clientSOAP4R.rb +19 -0
- data/test/interopR2/clientSOAP__Lite.rb +15 -0
- data/test/interopR2/clientSQLData.rb +19 -0
- data/test/interopR2/clientSilverStream.rb +18 -0
- data/test/interopR2/clientSpray2001.rb +18 -0
- data/test/interopR2/clientSun.rb +20 -0
- data/test/interopR2/clientVWOpentalkSoap.rb +20 -0
- data/test/interopR2/clientWASP.rb +20 -0
- data/test/interopR2/clientWASPC.rb +19 -0
- data/test/interopR2/clientWebMethods.rb +16 -0
- data/test/interopR2/clientWhiteMesa.rb +29 -0
- data/test/interopR2/clientWingfoot.rb +16 -0
- data/test/interopR2/clientXMLBus.rb +20 -0
- data/test/interopR2/clientXMLRPC-EPI.rb +18 -0
- data/test/interopR2/clientXSOAP.rb +15 -0
- data/test/interopR2/clientZSI.rb +20 -0
- data/test/interopR2/clienteSOAP.rb +19 -0
- data/test/interopR2/clientgSOAP.rb +19 -0
- data/test/interopR2/clientkSOAP.rb +18 -0
- data/test/interopR2/iSimonReg.rb +113 -0
- data/test/interopR2/interopResultBase.rb +115 -0
- data/test/interopR2/interopService.rb +248 -0
- data/test/interopR2/rwikiInteropService.rb +106 -0
- data/test/interopR2/server.cgi +271 -0
- data/test/interopR2/server.rb +276 -0
- data/test/interopR2/simonReg.rb +124 -0
- data/test/interopR2/test.sh +49 -0
- data/test/interopR4/client.rb +113 -0
- data/test/runner.rb +8 -0
- data/test/sm11/classDef.rb +157 -0
- data/test/sm11/client.rb +543 -0
- data/test/sm11/driver.rb +184 -0
- data/test/sm11/servant.rb +1068 -0
- data/test/sm11/server.rb +26 -0
- data/test/soap/asp.net/hello.wsdl +96 -0
- data/test/soap/asp.net/test_aspdotnet.rb +124 -0
- data/test/soap/auth/htdigest +2 -0
- data/test/soap/auth/htpasswd +2 -0
- data/test/soap/auth/test_basic.rb +118 -0
- data/test/soap/auth/test_digest.rb +119 -0
- data/test/soap/calc/calc.rb +18 -0
- data/test/soap/calc/calc2.rb +30 -0
- data/test/soap/calc/server.cgi +16 -0
- data/test/soap/calc/server.rb +18 -0
- data/test/soap/calc/server2.rb +21 -0
- data/test/soap/calc/test_calc.rb +53 -0
- data/test/soap/calc/test_calc2.rb +57 -0
- data/test/soap/calc/test_calc_cgi.rb +72 -0
- data/test/soap/case/test_mapping.rb +58 -0
- data/test/soap/fault/test_customfault.rb +61 -0
- data/test/soap/fault/test_fault.rb +47 -0
- data/test/soap/fault/test_soaparray.rb +36 -0
- data/test/soap/filter/test_filter.rb +147 -0
- data/test/soap/header/server.cgi +121 -0
- data/test/soap/header/test_authheader.rb +241 -0
- data/test/soap/header/test_authheader_cgi.rb +122 -0
- data/test/soap/header/test_simplehandler.rb +117 -0
- data/test/soap/helloworld/hw_s.rb +17 -0
- data/test/soap/helloworld/test_helloworld.rb +45 -0
- data/test/soap/htpasswd +2 -0
- data/test/soap/literalArrayMapping/amazonEc.rb +4779 -0
- data/test/soap/literalArrayMapping/amazonEcDriver.rb +173 -0
- data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
- data/test/soap/literalArrayMapping/test_definedarray.rb +35 -0
- data/test/soap/marshal/marshaltestlib.rb +498 -0
- data/test/soap/marshal/test_digraph.rb +57 -0
- data/test/soap/marshal/test_marshal.rb +28 -0
- data/test/soap/marshal/test_struct.rb +48 -0
- data/test/soap/ssl/README +1 -0
- data/test/soap/ssl/ca.cert +23 -0
- data/test/soap/ssl/client.cert +19 -0
- data/test/soap/ssl/client.key +15 -0
- data/test/soap/ssl/server.cert +19 -0
- data/test/soap/ssl/server.key +15 -0
- data/test/soap/ssl/sslsvr.rb +59 -0
- data/test/soap/ssl/subca.cert +21 -0
- data/test/soap/ssl/test_ssl.rb +236 -0
- data/test/soap/struct/test_struct.rb +71 -0
- data/test/soap/styleuse/client.rb +21 -0
- data/test/soap/styleuse/server.rb +87 -0
- data/test/soap/swa/test_file.rb +76 -0
- data/test/soap/test_basetype.rb +1091 -0
- data/test/soap/test_cookie.rb +113 -0
- data/test/soap/test_custom_ns.rb +106 -0
- data/test/soap/test_custommap.rb +111 -0
- data/test/soap/test_empty.rb +106 -0
- data/test/soap/test_envelopenamespace.rb +86 -0
- data/test/soap/test_extraattr.rb +55 -0
- data/test/soap/test_generator.rb +32 -0
- data/test/soap/test_httpconfigloader.rb +72 -0
- data/test/soap/test_mapping.rb +132 -0
- data/test/soap/test_nestedexception.rb +71 -0
- data/test/soap/test_nil.rb +71 -0
- data/test/soap/test_no_indent.rb +89 -0
- data/test/soap/test_property.rb +429 -0
- data/test/soap/test_response_as_xml.rb +118 -0
- data/test/soap/test_soapelement.rb +139 -0
- data/test/soap/test_streamhandler.rb +271 -0
- data/test/soap/test_styleuse.rb +327 -0
- data/test/soap/wsdlDriver/README.txt +2 -0
- data/test/soap/wsdlDriver/calc.wsdl +126 -0
- data/test/soap/wsdlDriver/document.wsdl +54 -0
- data/test/soap/wsdlDriver/echo_version.rb +30 -0
- data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
- data/test/soap/wsdlDriver/test_calc.rb +72 -0
- data/test/soap/wsdlDriver/test_document.rb +72 -0
- data/test/soap/wsdlDriver/test_simpletype.rb +82 -0
- data/test/testutil.rb +55 -0
- data/test/wsdl/abstract/abstract.wsdl +176 -0
- data/test/wsdl/abstract/test_abstract.rb +160 -0
- data/test/wsdl/anonymous/expectedClassDef.rb +129 -0
- data/test/wsdl/anonymous/expectedDriver.rb +60 -0
- data/test/wsdl/anonymous/expectedMappingRegistry.rb +177 -0
- data/test/wsdl/anonymous/lp.wsdl +147 -0
- data/test/wsdl/anonymous/test_anonymous.rb +131 -0
- data/test/wsdl/any/any.wsdl +114 -0
- data/test/wsdl/any/expectedDriver.rb +69 -0
- data/test/wsdl/any/expectedEcho.rb +58 -0
- data/test/wsdl/any/expectedMappingRegistry.rb +64 -0
- data/test/wsdl/any/expectedService.rb +70 -0
- data/test/wsdl/any/test_any.rb +194 -0
- data/test/wsdl/axisArray/axisArray.wsdl +87 -0
- data/test/wsdl/axisArray/test_axisarray.rb +125 -0
- data/test/wsdl/choice/choice.wsdl +167 -0
- data/test/wsdl/choice/test_choice.rb +311 -0
- data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
- data/test/wsdl/complexcontent/test_echo.rb +91 -0
- data/test/wsdl/datetime/DatetimeService.rb +45 -0
- data/test/wsdl/datetime/datetime.rb +0 -0
- data/test/wsdl/datetime/datetime.wsdl +45 -0
- data/test/wsdl/datetime/datetimeServant.rb +23 -0
- data/test/wsdl/datetime/test_datetime.rb +88 -0
- data/test/wsdl/document/array/double.wsdl +161 -0
- data/test/wsdl/document/array/test_array.rb +202 -0
- data/test/wsdl/document/document.wsdl +76 -0
- data/test/wsdl/document/number.wsdl +54 -0
- data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
- data/test/wsdl/document/test_nosoapaction.rb +103 -0
- data/test/wsdl/document/test_number.rb +93 -0
- data/test/wsdl/document/test_rpc.rb +356 -0
- data/test/wsdl/emptycomplextype.wsdl +31 -0
- data/test/wsdl/fault/fault.wsdl +79 -0
- data/test/wsdl/fault/multifault.wsdl +96 -0
- data/test/wsdl/fault/test_fault.rb +120 -0
- data/test/wsdl/fault/test_multifault.rb +135 -0
- data/test/wsdl/group/expectedClassdef.rb +59 -0
- data/test/wsdl/group/expectedDriver.rb +52 -0
- data/test/wsdl/group/expectedMappingRegistry.rb +68 -0
- data/test/wsdl/group/group.wsdl +88 -0
- data/test/wsdl/group/test_rpc.rb +146 -0
- data/test/wsdl/list/list.wsdl +93 -0
- data/test/wsdl/list/test_list.rb +125 -0
- data/test/wsdl/map/map.wsdl +92 -0
- data/test/wsdl/map/map.xml +43 -0
- data/test/wsdl/map/test_map.rb +100 -0
- data/test/wsdl/marshal/person.wsdl +21 -0
- data/test/wsdl/marshal/person_org.rb +24 -0
- data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
- data/test/wsdl/multiplefault.wsdl +75 -0
- data/test/wsdl/oneway/oneway.wsdl +36 -0
- data/test/wsdl/oneway/test_oneway.rb +109 -0
- data/test/wsdl/overload/expectedClient.rb +38 -0
- data/test/wsdl/overload/expectedDriver.rb +62 -0
- data/test/wsdl/overload/expectedServant.rb +36 -0
- data/test/wsdl/overload/overload.wsdl +70 -0
- data/test/wsdl/overload/test_overload.rb +132 -0
- data/test/wsdl/qualified/lp.wsdl +47 -0
- data/test/wsdl/qualified/lp.xsd +26 -0
- data/test/wsdl/qualified/np.wsdl +51 -0
- data/test/wsdl/qualified/test_qualified.rb +138 -0
- data/test/wsdl/qualified/test_unqualified.rb +139 -0
- data/test/wsdl/raa/RAAService.rb +126 -0
- data/test/wsdl/raa/README.txt +8 -0
- data/test/wsdl/raa/expectedClassDef.rb +101 -0
- data/test/wsdl/raa/expectedDriver.rb +97 -0
- data/test/wsdl/raa/expectedMappingRegistry.rb +122 -0
- data/test/wsdl/raa/raa.wsdl +264 -0
- data/test/wsdl/raa/test_raa.rb +127 -0
- data/test/wsdl/ref/expectedDriver.rb +52 -0
- data/test/wsdl/ref/expectedProduct.rb +244 -0
- data/test/wsdl/ref/product.wsdl +147 -0
- data/test/wsdl/ref/test_ref.rb +269 -0
- data/test/wsdl/rpc/rpc.wsdl +109 -0
- data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
- data/test/wsdl/rpc/test_rpc.rb +177 -0
- data/test/wsdl/rpc/test_rpc_lit.rb +471 -0
- data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
- data/test/wsdl/simplecontent/test_simplecontent.rb +103 -0
- data/test/wsdl/simpletype/rpc/expectedClient.rb +35 -0
- data/test/wsdl/simpletype/rpc/expectedDriver.rb +59 -0
- data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +37 -0
- data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +58 -0
- data/test/wsdl/simpletype/rpc/expectedServant.rb +33 -0
- data/test/wsdl/simpletype/rpc/expectedService.rb +56 -0
- data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
- data/test/wsdl/simpletype/rpc/test_rpc.rb +53 -0
- data/test/wsdl/simpletype/simpletype.wsdl +114 -0
- data/test/wsdl/simpletype/test_simpletype.rb +93 -0
- data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
- data/test/wsdl/soap/test_soapbodyparts.rb +80 -0
- data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +22 -0
- data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +35 -0
- data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +59 -0
- data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +37 -0
- data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +33 -0
- data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +49 -0
- data/test/wsdl/soap/wsdl2ruby/expectedService.rb +56 -0
- data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
- data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +38 -0
- data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
- data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +54 -0
- data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
- data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +84 -0
- data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +103 -0
- data/test/wsdl/soaptype/soaptype.wsdl +61 -0
- data/test/wsdl/soaptype/test_soaptype.rb +179 -0
- data/test/wsdl/test_emptycomplextype.rb +22 -0
- data/test/wsdl/test_fault.rb +51 -0
- data/test/wsdl/test_multiplefault.rb +42 -0
- data/test/xsd/codegen/test_classdef.rb +245 -0
- data/test/xsd/noencoding.xml +4 -0
- data/test/xsd/test_noencoding.rb +33 -0
- data/test/xsd/test_ns.rb +42 -0
- data/test/xsd/test_xmlschemaparser.rb +23 -0
- data/test/xsd/test_xsd.rb +1639 -0
- data/test/xsd/xmllang.xml +43 -0
- data/test/xsd/xmlschema.xml +12 -0
- data/test/xsd/xsd2ruby/expected_mysample.rb +66 -0
- data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +12 -0
- data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +52 -0
- data/test/xsd/xsd2ruby/section.xsd +49 -0
- data/test/xsd/xsd2ruby/test_xsd2ruby.rb +91 -0
- metadata +490 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
# WSDL4R - WSDL SOAP documentation element.
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
4
|
+
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
7
|
+
# either the dual license version in 2003, or any later version.
|
8
|
+
|
9
|
+
|
10
|
+
require 'wsdl/info'
|
11
|
+
|
12
|
+
|
13
|
+
module WSDL
|
14
|
+
|
15
|
+
|
16
|
+
class Documentation < Info
|
17
|
+
def initialize
|
18
|
+
super
|
19
|
+
end
|
20
|
+
|
21
|
+
def parse_element(element)
|
22
|
+
# Accepts any element.
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
def parse_attr(attr, value)
|
27
|
+
# Accepts any attribute.
|
28
|
+
true
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
end
|
data/lib/wsdl/import.rb
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
# WSDL4R - WSDL import definition.
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
4
|
+
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
7
|
+
# either the dual license version in 2003, or any later version.
|
8
|
+
|
9
|
+
|
10
|
+
require 'wsdl/info'
|
11
|
+
require 'wsdl/importer'
|
12
|
+
|
13
|
+
|
14
|
+
module WSDL
|
15
|
+
|
16
|
+
|
17
|
+
class Import < Info
|
18
|
+
attr_reader :namespace
|
19
|
+
attr_reader :location
|
20
|
+
attr_reader :content
|
21
|
+
|
22
|
+
def initialize
|
23
|
+
super
|
24
|
+
@namespace = nil
|
25
|
+
@location = nil
|
26
|
+
@content = nil
|
27
|
+
@web_client = nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def parse_element(element)
|
31
|
+
case element
|
32
|
+
when DocumentationName
|
33
|
+
o = Documentation.new
|
34
|
+
o
|
35
|
+
else
|
36
|
+
nil
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def parse_attr(attr, value)
|
41
|
+
case attr
|
42
|
+
when NamespaceAttrName
|
43
|
+
@namespace = value.source
|
44
|
+
if @content
|
45
|
+
@content.targetnamespace = @namespace
|
46
|
+
end
|
47
|
+
@namespace
|
48
|
+
when LocationAttrName
|
49
|
+
@location = URI.parse(value.source)
|
50
|
+
if @location.relative? and !parent.location.nil? and
|
51
|
+
!parent.location.relative?
|
52
|
+
@location = parent.location + @location
|
53
|
+
end
|
54
|
+
if root.importedschema.key?(@location)
|
55
|
+
@content = root.importedschema[@location]
|
56
|
+
else
|
57
|
+
root.importedschema[@location] = nil # placeholder
|
58
|
+
@content = import(@location)
|
59
|
+
if @content.is_a?(Definitions)
|
60
|
+
@content.root = root
|
61
|
+
if @namespace
|
62
|
+
@content.targetnamespace = @namespace
|
63
|
+
end
|
64
|
+
end
|
65
|
+
root.importedschema[@location] = @content
|
66
|
+
end
|
67
|
+
@location
|
68
|
+
else
|
69
|
+
nil
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
private
|
74
|
+
|
75
|
+
def import(location)
|
76
|
+
Importer.import(location, root)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
# WSDL4R - WSDL importer library.
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
4
|
+
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
7
|
+
# either the dual license version in 2003, or any later version.
|
8
|
+
|
9
|
+
|
10
|
+
require 'wsdl/xmlSchema/importer'
|
11
|
+
require 'wsdl/parser'
|
12
|
+
|
13
|
+
|
14
|
+
module WSDL
|
15
|
+
|
16
|
+
|
17
|
+
class Importer < WSDL::XMLSchema::Importer
|
18
|
+
def self.import(location, originalroot = nil)
|
19
|
+
new.import(location, originalroot)
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def parse(content, location, originalroot)
|
25
|
+
opt = {
|
26
|
+
:location => location,
|
27
|
+
:originalroot => originalroot
|
28
|
+
}
|
29
|
+
begin
|
30
|
+
WSDL::Parser.new(opt).parse(content)
|
31
|
+
rescue WSDL::Parser::ParseError
|
32
|
+
super(content, location, originalroot)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
end
|
data/lib/wsdl/info.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
# WSDL4R - WSDL information base.
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
4
|
+
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
7
|
+
# either the dual license version in 2003, or any later version.
|
8
|
+
|
9
|
+
|
10
|
+
module WSDL
|
11
|
+
|
12
|
+
|
13
|
+
class Info
|
14
|
+
attr_accessor :root
|
15
|
+
attr_accessor :parent
|
16
|
+
attr_accessor :id
|
17
|
+
|
18
|
+
def initialize
|
19
|
+
@root = nil
|
20
|
+
@parent = nil
|
21
|
+
@id = nil
|
22
|
+
end
|
23
|
+
|
24
|
+
def inspect
|
25
|
+
if self.respond_to?(:name)
|
26
|
+
sprintf("#<%s:0x%x %s>", self.class.name, __id__, self.name)
|
27
|
+
else
|
28
|
+
sprintf("#<%s:0x%x>", self.class.name, __id__)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def parse_element(element); end # abstract
|
33
|
+
|
34
|
+
def parse_attr(attr, value); end # abstract
|
35
|
+
|
36
|
+
def parse_epilogue; end # abstract
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def to_int(value)
|
41
|
+
Integer(value.source)
|
42
|
+
end
|
43
|
+
|
44
|
+
def to_boolean(value)
|
45
|
+
s = value.source
|
46
|
+
s == "true" or s == "1"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
end
|
data/lib/wsdl/message.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
# WSDL4R - WSDL message definition.
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
4
|
+
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
7
|
+
# either the dual license version in 2003, or any later version.
|
8
|
+
|
9
|
+
|
10
|
+
require 'wsdl/info'
|
11
|
+
|
12
|
+
|
13
|
+
module WSDL
|
14
|
+
|
15
|
+
|
16
|
+
class Message < Info
|
17
|
+
attr_reader :name # required
|
18
|
+
attr_reader :parts
|
19
|
+
|
20
|
+
def initialize
|
21
|
+
super
|
22
|
+
@name = nil
|
23
|
+
@parts = []
|
24
|
+
end
|
25
|
+
|
26
|
+
def targetnamespace
|
27
|
+
parent.targetnamespace
|
28
|
+
end
|
29
|
+
|
30
|
+
def parse_element(element)
|
31
|
+
case element
|
32
|
+
when PartName
|
33
|
+
o = Part.new
|
34
|
+
@parts << o
|
35
|
+
o
|
36
|
+
when DocumentationName
|
37
|
+
o = Documentation.new
|
38
|
+
o
|
39
|
+
else
|
40
|
+
nil
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def parse_attr(attr, value)
|
45
|
+
case attr
|
46
|
+
when NameAttrName
|
47
|
+
@name = XSD::QName.new(parent.targetnamespace, value.source)
|
48
|
+
else
|
49
|
+
nil
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
end
|
@@ -0,0 +1,152 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
# WSDL4R - WSDL operation definition.
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
4
|
+
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
7
|
+
# either the dual license version in 2003, or any later version.
|
8
|
+
|
9
|
+
|
10
|
+
require 'wsdl/info'
|
11
|
+
|
12
|
+
|
13
|
+
module WSDL
|
14
|
+
|
15
|
+
|
16
|
+
class Operation < Info
|
17
|
+
attr_reader :name # required
|
18
|
+
attr_reader :parameter_order # optional
|
19
|
+
attr_reader :input
|
20
|
+
attr_reader :output
|
21
|
+
attr_reader :fault
|
22
|
+
attr_reader :type # required
|
23
|
+
|
24
|
+
def initialize
|
25
|
+
super
|
26
|
+
@name = nil
|
27
|
+
@type = nil
|
28
|
+
@parameter_order = nil
|
29
|
+
@input = nil
|
30
|
+
@output = nil
|
31
|
+
@fault = []
|
32
|
+
end
|
33
|
+
|
34
|
+
def targetnamespace
|
35
|
+
parent.targetnamespace
|
36
|
+
end
|
37
|
+
|
38
|
+
def operationname
|
39
|
+
as_operationname(@name)
|
40
|
+
end
|
41
|
+
|
42
|
+
EMPTY = [].freeze
|
43
|
+
# TODO: remove once after OperationInfo created
|
44
|
+
def inputparts
|
45
|
+
if message = input_message
|
46
|
+
sort_parts(message.parts)
|
47
|
+
else
|
48
|
+
EMPTY
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def inputname
|
53
|
+
if input
|
54
|
+
as_operationname(input.name ? input.name.name : @name)
|
55
|
+
else
|
56
|
+
nil
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# TODO: remove once after OperationInfo created
|
61
|
+
def outputparts
|
62
|
+
if message = output_message
|
63
|
+
sort_parts(message.parts)
|
64
|
+
else
|
65
|
+
EMPTY
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def outputname
|
70
|
+
if output
|
71
|
+
as_operationname(output.name ? output.name.name : @name + 'Response')
|
72
|
+
else
|
73
|
+
nil
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def parse_element(element)
|
78
|
+
case element
|
79
|
+
when InputName
|
80
|
+
o = Param.new
|
81
|
+
@input = o
|
82
|
+
o
|
83
|
+
when OutputName
|
84
|
+
o = Param.new
|
85
|
+
@output = o
|
86
|
+
o
|
87
|
+
when FaultName
|
88
|
+
o = Param.new
|
89
|
+
@fault << o
|
90
|
+
o
|
91
|
+
when DocumentationName
|
92
|
+
o = Documentation.new
|
93
|
+
o
|
94
|
+
else
|
95
|
+
nil
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
def parse_attr(attr, value)
|
100
|
+
case attr
|
101
|
+
when NameAttrName
|
102
|
+
@name = value.source
|
103
|
+
when TypeAttrName
|
104
|
+
@type = value
|
105
|
+
when ParameterOrderAttrName
|
106
|
+
@parameter_order = value.source.split(/\s+/)
|
107
|
+
else
|
108
|
+
nil
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
private
|
113
|
+
|
114
|
+
def input_message
|
115
|
+
if input and message = input.find_message
|
116
|
+
message
|
117
|
+
else
|
118
|
+
nil
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
def output_message
|
123
|
+
if output and message = output.find_message
|
124
|
+
message
|
125
|
+
else
|
126
|
+
nil
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
def sort_parts(parts)
|
131
|
+
return parts.dup unless parameter_order
|
132
|
+
result = []
|
133
|
+
parameter_order.each do |orderitem|
|
134
|
+
if (ele = parts.find { |part| part.name == orderitem })
|
135
|
+
result << ele
|
136
|
+
end
|
137
|
+
end
|
138
|
+
if result.length == 0
|
139
|
+
return parts.dup
|
140
|
+
end
|
141
|
+
# result length can be shorter than parts's.
|
142
|
+
# return part must not be a part of the parameterOrder.
|
143
|
+
result
|
144
|
+
end
|
145
|
+
|
146
|
+
def as_operationname(name)
|
147
|
+
XSD::QName.new(targetnamespace, name)
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
|
152
|
+
end
|
@@ -0,0 +1,241 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
# WSDL4R - WSDL bound operation definition.
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
4
|
+
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
7
|
+
# either the dual license version in 2003, or any later version.
|
8
|
+
|
9
|
+
|
10
|
+
require 'wsdl/info'
|
11
|
+
|
12
|
+
|
13
|
+
module WSDL
|
14
|
+
|
15
|
+
|
16
|
+
class OperationBinding < Info
|
17
|
+
attr_reader :name # required
|
18
|
+
attr_reader :input
|
19
|
+
attr_reader :output
|
20
|
+
attr_reader :fault
|
21
|
+
attr_reader :soapoperation
|
22
|
+
|
23
|
+
class OperationInfo
|
24
|
+
attr_reader :boundid
|
25
|
+
attr_reader :qname
|
26
|
+
attr_reader :style
|
27
|
+
attr_accessor :inputuse
|
28
|
+
attr_accessor :outputuse
|
29
|
+
attr_reader :parts
|
30
|
+
attr_reader :faults
|
31
|
+
|
32
|
+
def initialize(boundid, qname, style, inputuse, outputuse)
|
33
|
+
@boundid = boundid
|
34
|
+
@qname = qname
|
35
|
+
@style = style
|
36
|
+
@inputuse = inputuse
|
37
|
+
@outputuse = outputuse
|
38
|
+
@parts = []
|
39
|
+
@faults = {}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class Part
|
44
|
+
attr_reader :io_type
|
45
|
+
attr_reader :name
|
46
|
+
attr_reader :type
|
47
|
+
attr_reader :element
|
48
|
+
|
49
|
+
def initialize(io_type, name, type, element)
|
50
|
+
@io_type = io_type
|
51
|
+
@name = name
|
52
|
+
@type = type
|
53
|
+
@element = element
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
class BoundId
|
58
|
+
attr_reader :name
|
59
|
+
attr_reader :soapaction
|
60
|
+
|
61
|
+
def initialize(name, soapaction)
|
62
|
+
@name = name
|
63
|
+
@soapaction = soapaction
|
64
|
+
end
|
65
|
+
|
66
|
+
def ==(rhs)
|
67
|
+
!rhs.nil? and @name == rhs.name and @soapaction == rhs.soapaction
|
68
|
+
end
|
69
|
+
|
70
|
+
def eql?(rhs)
|
71
|
+
(self == rhs)
|
72
|
+
end
|
73
|
+
|
74
|
+
def hash
|
75
|
+
@name.hash ^ @soapaction.hash
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
def initialize
|
80
|
+
super
|
81
|
+
@name = nil
|
82
|
+
@input = nil
|
83
|
+
@output = nil
|
84
|
+
@fault = []
|
85
|
+
@soapoperation = nil
|
86
|
+
end
|
87
|
+
|
88
|
+
def operation_info
|
89
|
+
qname = soapoperation_name()
|
90
|
+
style = soapoperation_style()
|
91
|
+
use_input = soapbody_use(@input)
|
92
|
+
use_output = soapbody_use(@output)
|
93
|
+
info = OperationInfo.new(boundid, qname, style, use_input, use_output)
|
94
|
+
op = find_operation()
|
95
|
+
if style == :rpc
|
96
|
+
info.parts.concat(collect_rpcparameter(op))
|
97
|
+
else
|
98
|
+
info.parts.concat(collect_documentparameter(op))
|
99
|
+
end
|
100
|
+
@fault.each do |fault|
|
101
|
+
op_fault = {}
|
102
|
+
soapfault = fault.soapfault
|
103
|
+
next if soapfault.nil?
|
104
|
+
op_fault[:ns] = fault.name.namespace
|
105
|
+
op_fault[:name] = fault.name.name
|
106
|
+
op_fault[:namespace] = soapfault.namespace
|
107
|
+
op_fault[:use] = soapfault.use || "literal"
|
108
|
+
op_fault[:encodingstyle] = soapfault.encodingstyle || "document"
|
109
|
+
info.faults[fault.name] = op_fault
|
110
|
+
end
|
111
|
+
info
|
112
|
+
end
|
113
|
+
|
114
|
+
def targetnamespace
|
115
|
+
parent.targetnamespace
|
116
|
+
end
|
117
|
+
|
118
|
+
def porttype
|
119
|
+
root.porttype(parent.type)
|
120
|
+
end
|
121
|
+
|
122
|
+
def boundid
|
123
|
+
BoundId.new(name, soapaction)
|
124
|
+
end
|
125
|
+
|
126
|
+
def find_operation
|
127
|
+
porttype.operations.each do |op|
|
128
|
+
next if op.name != @name
|
129
|
+
next if op.input and @input and op.input.name and @input.name and
|
130
|
+
op.input.name != @input.name
|
131
|
+
next if op.output and @output and op.output.name and @output.name and
|
132
|
+
op.output.name != @output.name
|
133
|
+
return op
|
134
|
+
end
|
135
|
+
raise RuntimeError.new("#{@name} not found")
|
136
|
+
end
|
137
|
+
|
138
|
+
def soapoperation_name
|
139
|
+
op_name = find_operation.operationname
|
140
|
+
if @input and @input.soapbody and @input.soapbody.namespace
|
141
|
+
op_name = XSD::QName.new(@input.soapbody.namespace, op_name.name)
|
142
|
+
end
|
143
|
+
op_name
|
144
|
+
end
|
145
|
+
|
146
|
+
def soapoperation_style
|
147
|
+
style = nil
|
148
|
+
if @soapoperation
|
149
|
+
style = @soapoperation.operation_style
|
150
|
+
elsif parent.soapbinding
|
151
|
+
style = parent.soapbinding.style
|
152
|
+
else
|
153
|
+
raise TypeError.new("operation style definition not found")
|
154
|
+
end
|
155
|
+
style || :document
|
156
|
+
end
|
157
|
+
|
158
|
+
def soapaction
|
159
|
+
if @soapoperation
|
160
|
+
@soapoperation.soapaction
|
161
|
+
else
|
162
|
+
nil
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
def parse_element(element)
|
167
|
+
case element
|
168
|
+
when InputName
|
169
|
+
o = Param.new
|
170
|
+
@input = o
|
171
|
+
o
|
172
|
+
when OutputName
|
173
|
+
o = Param.new
|
174
|
+
@output = o
|
175
|
+
o
|
176
|
+
when FaultName
|
177
|
+
o = Param.new
|
178
|
+
@fault << o
|
179
|
+
o
|
180
|
+
when SOAPOperationName
|
181
|
+
o = WSDL::SOAP::Operation.new
|
182
|
+
@soapoperation = o
|
183
|
+
o
|
184
|
+
when DocumentationName
|
185
|
+
o = Documentation.new
|
186
|
+
o
|
187
|
+
else
|
188
|
+
nil
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
def parse_attr(attr, value)
|
193
|
+
case attr
|
194
|
+
when NameAttrName
|
195
|
+
@name = value.source
|
196
|
+
else
|
197
|
+
nil
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
private
|
202
|
+
|
203
|
+
def soapbody_use(param)
|
204
|
+
param ? param.soapbody_use : nil
|
205
|
+
end
|
206
|
+
|
207
|
+
def collect_rpcparameter(operation)
|
208
|
+
result = operation.inputparts.collect { |part|
|
209
|
+
Part.new(:in, part.name, part.type, part.element)
|
210
|
+
}
|
211
|
+
outparts = operation.outputparts
|
212
|
+
if outparts.size > 0
|
213
|
+
retval = outparts[0]
|
214
|
+
result << Part.new(:retval, retval.name, retval.type, retval.element)
|
215
|
+
cdr(outparts).each { |part|
|
216
|
+
result << Part.new(:out, part.name, part.type, part.element)
|
217
|
+
}
|
218
|
+
end
|
219
|
+
result
|
220
|
+
end
|
221
|
+
|
222
|
+
def collect_documentparameter(operation)
|
223
|
+
param = []
|
224
|
+
operation.inputparts.each do |input|
|
225
|
+
param << Part.new(:in, input.name, input.type, input.element)
|
226
|
+
end
|
227
|
+
operation.outputparts.each do |output|
|
228
|
+
param << Part.new(:out, output.name, output.type, output.element)
|
229
|
+
end
|
230
|
+
param
|
231
|
+
end
|
232
|
+
|
233
|
+
def cdr(ary)
|
234
|
+
result = ary.dup
|
235
|
+
result.shift
|
236
|
+
result
|
237
|
+
end
|
238
|
+
end
|
239
|
+
|
240
|
+
|
241
|
+
end
|