Skip to main content

%SOAP.WSDL.Reader

class %SOAP.WSDL.Reader extends %Library.RegisteredObject

This class reads a WSDL and builds a web service client and associated class definitions from it.
This class is used by the SOAP Client Wizard; it is not for direct use within applications except through the Process method. Properties which are not marked as internal may be used to control the Process method.

Property Inventory

Method Inventory

Properties

property BinaryAsStream as %Boolean;
If the BinaryAsStream property is true, then use %Stream.GlobalBinary for base64Binary type.
Property methods: BinaryAsStreamDisplayToLogical(), BinaryAsStreamGet(), BinaryAsStreamIsValid(), BinaryAsStreamLogicalToDisplay(), BinaryAsStreamNormalize(), BinaryAsStreamSet()
property BusinessOperationPackage as %String [ InitialExpression = "BusOp" ];
If MakeBusinessOperation is true, the name of the sub-package to contain the Business Operation
Property methods: BusinessOperationPackageDisplayToLogical(), BusinessOperationPackageGet(), BusinessOperationPackageIsValid(), BusinessOperationPackageLogicalToDisplay(), BusinessOperationPackageLogicalToOdbc(), BusinessOperationPackageNormalize(), BusinessOperationPackageSet()
property CascadeDeletes as %Boolean [ InitialExpression = 0 ];
Input property to control if a %OnDelete method is generated for persistent classes in order to cascade deletes.
Property methods: CascadeDeletesDisplayToLogical(), CascadeDeletesGet(), CascadeDeletesIsValid(), CascadeDeletesLogicalToDisplay(), CascadeDeletesNormalize(), CascadeDeletesSet()
property ClientPackage as %String;
If MakeClient is true, then ClientPackage is the name of the package to contain the client classes. If ClientPackage="", then the client classes are put in the default package. If ClientPackage begins with a period (.), then the ClientPackage is appended to the default package. Otherwise the ClientPackage is used as specified.
Property methods: ClientPackageDisplayToLogical(), ClientPackageGet(), ClientPackageIsValid(), ClientPackageLogicalToDisplay(), ClientPackageLogicalToOdbc(), ClientPackageNormalize(), ClientPackageSet()
property ClientURLEscapeSoapAction as %Boolean [ InitialExpression = 1 ];
Flag to enable the URL Escape of SOAPAction header for SOAP1.1 requests. This is to complement the existing URL Decode of SOAP1.1 SOAPAction by IRIS WebServices. For example a "%" character in soap action is expanded to "%25" in transmission of the HTTP Header. Allows consistency in different SOAP client platforms accessing same IRIS WebService.
Default Reader action is to enable SOAPAction header to be URL Escaped for new generated SOAP Clients. Programmtically set reader property to "0" to resume previous behavior of generating clients with unescaped SOAPAction header being transmitted for SOAP1.1
Property methods: ClientURLEscapeSoapActionDisplayToLogical(), ClientURLEscapeSoapActionGet(), ClientURLEscapeSoapActionIsValid(), ClientURLEscapeSoapActionLogicalToDisplay(), ClientURLEscapeSoapActionNormalize(), ClientURLEscapeSoapActionSet()
property CompileClasses as %Boolean [ InitialExpression = 1 ];
Input property to control compilation of created classes. Default is to compile classes.
Property methods: CompileClassesDisplayToLogical(), CompileClassesGet(), CompileClassesIsValid(), CompileClassesLogicalToDisplay(), CompileClassesNormalize(), CompileClassesSet()
property CompileFlags as %String [ InitialExpression = "dk" ];
Flags to be used for class compiles.
Property methods: CompileFlagsDisplayToLogical(), CompileFlagsGet(), CompileFlagsIsValid(), CompileFlagsLogicalToDisplay(), CompileFlagsLogicalToOdbc(), CompileFlagsNormalize(), CompileFlagsSet()
property ConfigPackage as %String;
If ConfigPackage = "", then create the configuration class in the same package as the client or service with 'Config' appended to the client or service name. If ConfigPackage '= "", then create the configuration class in the subpackage given by ConfigPackage of the package containing the client or service.
Property methods: ConfigPackageDisplayToLogical(), ConfigPackageGet(), ConfigPackageIsValid(), ConfigPackageLogicalToDisplay(), ConfigPackageLogicalToOdbc(), ConfigPackageNormalize(), ConfigPackageSet()
property Debug as %Integer [ InitialExpression = 0 ];
Control display of debugging info Debug level. Additional output for levels >0. Default is 0.
Property methods: DebugDisplayToLogical(), DebugGet(), DebugIsValid(), DebugLogicalToDisplay(), DebugNormalize(), DebugSet()
property EntityResolver as %XML.SAX.EntityResolver;
This property should be set to an instance of %XML.SAX.EntityResolver OR a user-defined subclass IF the default EntityResolver is not required.
Property methods: EntityResolverGet(), EntityResolverGetSwizzled(), EntityResolverIsValid(), EntityResolverNewObject(), EntityResolverSet()
property GenerateXMLNIL as %Boolean;
Input property to control the generation of the XMLNIL property parameter. If GenerateXMLNIL = 1, then generate property parameter XMLNIL=1 for elements with nillable="true".
Property methods: GenerateXMLNILDisplayToLogical(), GenerateXMLNILGet(), GenerateXMLNILIsValid(), GenerateXMLNILLogicalToDisplay(), GenerateXMLNILNormalize(), GenerateXMLNILSet()
property GenerateXMLNILNOOBJECT as %Boolean;
Input property to control the generation of the XMLNILNOOBJECT property parameter. If GenerateXMLNILNOOBJECT = 1, then generate property parameter XMLNILNOOBJECT=1 for elements with nillable="true".
Property methods: GenerateXMLNILNOOBJECTDisplayToLogical(), GenerateXMLNILNOOBJECTGet(), GenerateXMLNILNOOBJECTIsValid(), GenerateXMLNILNOOBJECTLogicalToDisplay(), GenerateXMLNILNOOBJECTNormalize(), GenerateXMLNILNOOBJECTSet()
property HttpRequest as %Net.HttpRequest;
The %Net.HttpRequest instance to be used for all web requests for WSDL and XML schema documents. This property may optionally be set by the caller in order to specify %Net.HttpRequest properties Username, ProxyPort, etc.
Property methods: HttpRequestGet(), HttpRequestGetSwizzled(), HttpRequestIsValid(), HttpRequestNewObject(), HttpRequestSet()
property IgnoreNull as %String;
If the IgnoreNull property is set, the web client/service and the generated classes are created with the XMLIGNORENULL parameter to the value in IgnoreNull.
Property methods: IgnoreNullDisplayToLogical(), IgnoreNullGet(), IgnoreNullIsValid(), IgnoreNullLogicalToDisplay(), IgnoreNullLogicalToOdbc(), IgnoreNullNormalize(), IgnoreNullSet()
property IndexRelationship as %Boolean [ InitialExpression = 0 ];
Input property to control nature of relationships in generated classes. The IndexRelationship property is only meaningful if MakeRelationships is true(1) and the relationship is many-one (ParentChildRelationship is false(0). If IndexRelationship is true(1), the many-one relationships that are created are indexed.
Property methods: IndexRelationshipDisplayToLogical(), IndexRelationshipGet(), IndexRelationshipIsValid(), IndexRelationshipLogicalToDisplay(), IndexRelationshipNormalize(), IndexRelationshipSet()
property MakeBusinessOperation as %Boolean [ InitialExpression = 0 ];
If MakeEnsembleClasses is true, then MakeBusinessOperation and BusinessOperationPackage are ignored. Input property to control generation of an business operation for a WSDL If true (1), create an business process and related request and response objects.
Property methods: MakeBusinessOperationDisplayToLogical(), MakeBusinessOperationGet(), MakeBusinessOperationIsValid(), MakeBusinessOperationLogicalToDisplay(), MakeBusinessOperationNormalize(), MakeBusinessOperationSet()
property MakeClient as %Boolean [ InitialExpression = 1 ];
Input property to control creation of web service client classes. If true (1), then the client classes are created. The default is to create client classes.
Property methods: MakeClientDisplayToLogical(), MakeClientGet(), MakeClientIsValid(), MakeClientLogicalToDisplay(), MakeClientNormalize(), MakeClientSet()
property MakeEnsembleClasses as %Boolean [ InitialExpression = 0 ];
Input property to control generation of production-related classes for the Business Operation Request Object and Response Object from a WSDL. If true (1), create an business operation and related request and response objects.
Property methods: MakeEnsembleClassesDisplayToLogical(), MakeEnsembleClassesGet(), MakeEnsembleClassesIsValid(), MakeEnsembleClassesLogicalToDisplay(), MakeEnsembleClassesNormalize(), MakeEnsembleClassesSet()
property MakeMessageStyle as %Boolean;
The MakeMessageStyle property specifies whether the generated client uses a message format in which each request message part (not the elements of the part's type) is an argument and each response message part is a return value or output argument. The generation of the class using the message or wrapped format is specified by the MakeMessageStyle property which causes this class to have an ARGUMENTSTYLE parameter of "" (for false) or "message" (for true). The default value for ArgumentStyle is false. The generated ARGUMENTSTYLE parameter will be ignored if the SoapBindingStyle is not document. If MakeMessageStyle is true, then NAMESPACE parameters are created as if MakeNamespace is true.
Property methods: MakeMessageStyleDisplayToLogical(), MakeMessageStyleGet(), MakeMessageStyleIsValid(), MakeMessageStyleLogicalToDisplay(), MakeMessageStyleNormalize(), MakeMessageStyleSet()
property MakeNamespace as %Boolean;
Input property to control generation of XML namespace information. If true(1), add NAMESPACE parameter to generated classes. Default is false(0) unless there are multiple targetNamespaces in which case the default is true(1).
Property methods: MakeNamespaceDisplayToLogical(), MakeNamespaceGet(), MakeNamespaceIsValid(), MakeNamespaceLogicalToDisplay(), MakeNamespaceNormalize(), MakeNamespaceSet()
property MakePersistent as %Boolean [ InitialExpression = 0 ];
Input property to control persistence of generated classes. If true (1), create persistent classes, else create registered classes. Default is true.
Property methods: MakePersistentDisplayToLogical(), MakePersistentGet(), MakePersistentIsValid(), MakePersistentLogicalToDisplay(), MakePersistentNormalize(), MakePersistentSet()
property MakeRelationships as %Boolean [ InitialExpression = 0 ];
Input property to control creation of relationships in generated classes. If true(1), convert list collections of persistent classes to relationships. Default is true.
Property methods: MakeRelationshipsDisplayToLogical(), MakeRelationshipsGet(), MakeRelationshipsIsValid(), MakeRelationshipsLogicalToDisplay(), MakeRelationshipsNormalize(), MakeRelationshipsSet()
property MakeSerial as %Boolean [ InitialExpression = 0 ];
Input property to control if generated classes are serial. If true (1) and 'MakePersistent create serial classes, else create registered classes. Default is true.
Property methods: MakeSerialDisplayToLogical(), MakeSerialGet(), MakeSerialIsValid(), MakeSerialLogicalToDisplay(), MakeSerialNormalize(), MakeSerialSet()
property MakeService as %Boolean [ InitialExpression = 0 ];
Input property to control creation of web service classes. If true (1), then the web service classes are created. The default is to not create web service classes.
Property methods: MakeServiceDisplayToLogical(), MakeServiceGet(), MakeServiceIsValid(), MakeServiceLogicalToDisplay(), MakeServiceNormalize(), MakeServiceSet()
property NoArrayProperties as %Boolean [ InitialExpression = 0 ];
Input property to control use of arrays in created classes.
If true(1), do not reduce properties to use array of cnostruct.
Default is false(0).
Property methods: NoArrayPropertiesDisplayToLogical(), NoArrayPropertiesGet(), NoArrayPropertiesIsValid(), NoArrayPropertiesLogicalToDisplay(), NoArrayPropertiesNormalize(), NoArrayPropertiesSet()
property NoSequence as %Boolean;
If the NoSequence property is true, the XMLSEQUENCE parameter is set to 0 in the generated classes.
Property methods: NoSequenceDisplayToLogical(), NoSequenceGet(), NoSequenceIsValid(), NoSequenceLogicalToDisplay(), NoSequenceNormalize(), NoSequenceSet()
property OperationPackage as %String [ InitialExpression = "Operation" ];
If MakeEnsembleClasses is true, OperationPackage is the name of the package to contain the Business Operation.
Property methods: OperationPackageDisplayToLogical(), OperationPackageGet(), OperationPackageIsValid(), OperationPackageLogicalToDisplay(), OperationPackageLogicalToOdbc(), OperationPackageNormalize(), OperationPackageSet()
property OutputTypeAttribute as %Boolean [ InitialExpression = 0 ];
If OutputTypeAttribute = 1, then the Process method will add the OUTPUTTYPEATTRIBUTE parameter to the web client which is created. This parameter forces the inclusion of the xsi:type attribute for each element of object output.
Property methods: OutputTypeAttributeDisplayToLogical(), OutputTypeAttributeGet(), OutputTypeAttributeIsValid(), OutputTypeAttributeLogicalToDisplay(), OutputTypeAttributeNormalize(), OutputTypeAttributeSet()
property PackageMapping as %String [ MultiDimensional ];
User supplied mapping of namespaces to package names which will override the default package used for a specified namespace. This mapping does not apply to the client or service class - only the referenced classes.
The format is PackageMapping(namespace)=package for each mapped namespace
If package="", then the client classes are put in the default package. If package begins with a period (.), then the package is appended to the default package. Otherwise the package is used as specified.
The PackageMapping property may only be used with the Process method.
Property methods: PackageMappingDisplayToLogical(), PackageMappingGet(), PackageMappingIsValid(), PackageMappingLogicalToDisplay(), PackageMappingLogicalToOdbc(), PackageMappingNormalize(), PackageMappingSet()
property ParentChildRelationship as %Boolean [ InitialExpression = 0 ];
Input property to control nature of relationships in generated classes. The ParentChildRelationship property is only meaningful if MakeRelationships is true(1). If ParentChildRelationship is true(1), the relationships that are created are parent-child relationsips. Otherwise the relationships are many-one.
Property methods: ParentChildRelationshipDisplayToLogical(), ParentChildRelationshipGet(), ParentChildRelationshipIsValid(), ParentChildRelationshipLogicalToDisplay(), ParentChildRelationshipNormalize(), ParentChildRelationshipSet()
property RequestPackage as %String [ InitialExpression = "Request" ];
If MakeEnsembleClasses is true, RequestPackage is the name of the package to contain the production request object.
Property methods: RequestPackageDisplayToLogical(), RequestPackageGet(), RequestPackageIsValid(), RequestPackageLogicalToDisplay(), RequestPackageLogicalToOdbc(), RequestPackageNormalize(), RequestPackageSet()
property ResponsePackage as %String [ InitialExpression = "Response" ];
If MakeEnsembleClasses is true, ResponsePackage is the name of the package to contain the production request object.
Property methods: ResponsePackageDisplayToLogical(), ResponsePackageGet(), ResponsePackageIsValid(), ResponsePackageLogicalToDisplay(), ResponsePackageLogicalToOdbc(), ResponsePackageNormalize(), ResponsePackageSet()
property SAXFlags as %Integer [ InitialExpression = $$$SAXFULLDEFAULT+$$$SAXVALIDATIONPROHIBITDTDS ];
This property should be set to a combination of flags (see %occSAX.inc for details) if the default behavior of the parser is required to be modified. The $$$SAXVALIDATIONPROHIBITDTDS flag is added by default in order to not allow DTDs.
Property methods: SAXFlagsDisplayToLogical(), SAXFlagsGet(), SAXFlagsIsValid(), SAXFlagsLogicalToDisplay(), SAXFlagsNormalize(), SAXFlagsSet()
property SSLCheckServerIdentity as %Boolean;
When making an SSL connection check the server identity in the server certificate matches the name of the system we are connecting to. This defaults to being on and matches based on the rules layed out in section 3.1 of RFC 2818.
Property methods: SSLCheckServerIdentityDisplayToLogical(), SSLCheckServerIdentityGet(), SSLCheckServerIdentityIsValid(), SSLCheckServerIdentityLogicalToDisplay(), SSLCheckServerIdentityNormalize(), SSLCheckServerIdentitySet()
property SSLConfiguration as %String;
The name of the activated TLS/SSL configuration to use for https requests.
Property methods: SSLConfigurationDisplayToLogical(), SSLConfigurationGet(), SSLConfigurationIsValid(), SSLConfigurationLogicalToDisplay(), SSLConfigurationLogicalToOdbc(), SSLConfigurationNormalize(), SSLConfigurationSet()
property SecurityInParameter as %String (VALUELIST = ",ALLOW,IGNORE,IGNOREALL,REQUIRE");
The SecurityInParameter property allows the SECURITYIN parameter to be added to created classes. If SecurityInParameter'="", then add the SECURITYIN parameter to the class created for the web service or web client. The value of the SECURITYIN parameter will be taken from the SecurityInParameter property. The only valid values for this property are "", "ALLOW", "IGNORE", "IGNOREALL", and "REQUIRE".
Property methods: SecurityInParameterDisplayToLogical(), SecurityInParameterGet(), SecurityInParameterIsValid(), SecurityInParameterLogicalToDisplay(), SecurityInParameterLogicalToOdbc(), SecurityInParameterNormalize(), SecurityInParameterSet()
property ServicePackage as %String [ InitialExpression = ".Service" ];
If MakeService is true, then ServicePackage is the name of the package to contain the web service classes. If ServicePackage="", then the web service classes are put in the default package. If ServicePackage begins with a period (.), then the ClientPackage is appended to the default package. Otherwise the ServicePackage is used as specified.
Property methods: ServicePackageDisplayToLogical(), ServicePackageGet(), ServicePackageIsValid(), ServicePackageLogicalToDisplay(), ServicePackageLogicalToOdbc(), ServicePackageNormalize(), ServicePackageSet()
property SuppressNamespace as %Boolean;
Supplemental flag to suppress use of defined target Namespace. Causes NAMESPACE parameter to be empty on SOAP client and server classes, even if Namespace use is reactivated for other necessary schema processing reasons. Anticipated usage is for SOAP Clients in conjunction with OutputTypeAttribute flag disablement.
Property methods: SuppressNamespaceDisplayToLogical(), SuppressNamespaceGet(), SuppressNamespaceIsValid(), SuppressNamespaceLogicalToDisplay(), SuppressNamespaceNormalize(), SuppressNamespaceSet()

Methods

method GeneratePolicyFromWSDL(wsdlURL As %String, clientWebServiceClass As %String, policyConfigClass As %String) as %Status
The ProcessPolicy() method creates a configuration class for a web service client which contains the policy specified by the service's WSDL. If there is no policy in the WSDL an empty configuration class is created. The configuration class will be compiled, if the CompileClasses property is true.
Note that it is the caller's responsibility to insure that the WSDL URL corresponds to the same web service as the client.
The current implementation of this method is limited to WSDLs which have only one port specified.
  • wsdlURL is URL of the WSDL which contains the policy.
  • clientWebServiceClass is the name of the web service client. If the client already has a configuration class, the configuration class will be deleted.
  • policyConfigClass is the name of the configuration class to be created. If a class named policyConfigClass already exists, the existing class will be deleted.
method Process(pLocationURL As %String, pPackage As %String = "", pTest As %Boolean = 0, schemaReader As %XML.Utils.SchemaReader = "") as %Status
This method call processes the WSDL found at the specified location. The WSDL is retrieved and parsed into ^IRIS.Temp. The definitions are then processed creating one or more SOAP client classes. These client classes may be used to access the services defined with the WSDL. The reader argument is for internal usage by system classes only.
method Reset()
Reset this class instance for reuse.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab