Home > Class Reference > ENSLIB namespace > %SOAP.WSDL.Reader
Private  Storage   

%SOAP.WSDL.Reader


class %SOAP.WSDL.Reader extends %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.

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
49 61


Summary


Properties
BinaryAsStream BusinessOperationPackage CascadeDeletes ClientPackage
CompileClasses CompileFlags ConfigPackage Debug
EntityResolver GenerateXMLNIL GenerateXMLNILNOOBJECT HttpRequest
IgnoreNull IndexRelationship MakeBusinessOperation MakeClient
MakeEnsembleClasses MakeMessageStyle MakeNamespace MakePersistent
MakeRelationships MakeSerial MakeService NoArrayProperties
NoSequence OperationPackage OutputTypeAttribute PackageMapping
ParentChildRelationship RequestPackage ResponsePackage SAXFlags
SSLCheckServerIdentity SSLConfiguration SecurityInParameter ServicePackage

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
GeneratePolicyFromWSDL Process Reset


Properties


• property BinaryAsStream as %Boolean;
If the BinaryAsStream property is true, then use %Stream.GlobalBinary for base64Binary type.
• property BusinessOperationPackage as %String [ InitialExpression = "BusOp" ];
If MakeBusinessOperation is true, the name of the sub-package to contain the Business Operation
• 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 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 CompileClasses as %Boolean [ InitialExpression = 1 ];
Input property to control compilation of created classes. Default is to compile classes.
• property CompileFlags as %String [ InitialExpression = "dk" ];
Flags to be used for class compiles.
• 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 Debug as %Integer [ InitialExpression = 0 ];
Control display of debugging info Debug level. Additional output for levels >0. Default is 0.
• 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 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 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 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 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 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 MakeBusinessOperation as %Boolean [ InitialExpression = 0 ];
If MakeEnsembleClasses is true, then MakeBusinessOperation and BusinessOperationPackage are ignored. Input property to control generation of an Ensemble Business Operation for a WSDL If true (1), create an Ensemble Business Process and related request and response objects.
• 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 MakeEnsembleClasses as %Boolean [ InitialExpression = 0 ];
Input property to control generation of Ensemble classes for the Business Operation Request Object and Response Object from a WSDL. If true (1), create an Ensemble Business Operation and related request and response objects.
• 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 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 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 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 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 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 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 NoSequence as %Boolean;
If the NoSequence property is true, the XMLSEQUENCE parameter is set to 0 in the generated classes.
• property OperationPackage as %String [ InitialExpression = "Operation" ];
If MakeEnsembleClasses is true, OperationPackage is the name of the package to contain the Business Operation.
• 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 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 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 RequestPackage as %String [ InitialExpression = "Request" ];
If MakeEnsembleClasses is true, RequestPackage is the name of the package to contain the Ensemble request object.
• property ResponsePackage as %String [ InitialExpression = "Response" ];
If MakeEnsembleClasses is true, ResponsePackage is the name of the package to contain the Ensemble request object.
• 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 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 SSLConfiguration as %String;
The name of the activated TLS/SSL configuration to use for https requests.
• 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 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.

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 ^CacheTemp. 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 Cache system classes only.
• method Reset()
Reset this class instance for reuse.