Class WSBrowser
- java.lang.Object
-
- com.boomi.connector.util.BaseBrowser
-
- com.boomi.connector.ws.WSBrowser
-
- All Implemented Interfaces:
Browser
public class WSBrowser extends BaseBrowser
Implementation of webservice browsing. Provides many convenience methods and customization points for manipulating the data definitions according to the needs of the target webservice. Default implementation implements pretty much all the functionality necessary for browsing an EXECUTE operation but not for any other operation (as the expectation is that the other operations involve more custom, conceptual grouping work on the part of the connector developer).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WSBrowser.SchemaMapHolder
Holder for a SchemaMap, allows invoked methods to change the SchemaMap reference.
-
Constructor Summary
Constructors Constructor Description WSBrowser(WSConnection<BrowseContext> conn)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
doEnhanceSoapArrayTypes(WebServiceOperation op)
Returnstrue
if the schemas for the given operation should have any soap encoded array types "enhanced".protected boolean
doWrapRpcOperation(WebServiceOperation op)
Returnstrue
if the given operation should be wrapped with a synthetic element (often useful for RPC style calls with multiple paramters),false
otherwise.static String
generateCookie(WebServiceOperation wsOperation)
Converts the given WebServiceOperation into a "cookie" for embedding within an ObjectDefinition (to be returned during subsequent operation invocations).WSConnection<? extends BrowseContext>
getConnection()
Returns the base connection that was either provided or created when this instance was created.protected String
getEnvelopeOperationRequestElementName(WebServiceBindingOperation bindingOp, WebServiceProtocol soapProtocol, com.boomi.webservices.SchemaMap schemaDocMap)
Returns the name of the request element for the given operation.protected String
getEnvelopeOperationResponseElementName(WebServiceBindingOperation bindingOp, WebServiceProtocol soapProtocol, WSBrowser.SchemaMapHolder schemaDocMapH)
Returns the name of the response element for the given operation.protected ObjectDefinitions
getExecuteObjectDefinitions(String objectTypeId, Collection<ObjectDefinitionRole> roles)
Returns an ObjectDefinitions instance for an EXECUTE operation.protected ObjectTypes
getExecuteObjectTypes()
Returns an ObjectTypes instance for an EXECUTE operation created by getting the list of operations available in the webservice wsdl (via a call togetOperations()
) and converting them to ObjectType instances with labels created bygetOperationLabel(java.lang.String)
.protected WebServiceOperation
getExecuteWebServiceOperation(javax.wsdl.Definition wsdl, String objectTypeId, com.boomi.webservices.SchemaMap schemaDocMap, com.boomi.webservices.ProtocolHandler protocolHandler)
Returns the WebServiceOperation for the given object type id (typically an operation name).protected ObjectDefinitions
getObjectDefinitions(WebServiceOperation op, Collection<ObjectDefinitionRole> roles, com.boomi.webservices.SchemaMap schemaDocMap)
Returns an ObjectDefinitions instance for the given operation.ObjectDefinitions
getObjectDefinitions(String objectTypeId, Collection<ObjectDefinitionRole> roles)
Returns the object definitions for the given object type id and currently configured OperationType (as defined by the BrowseContext).protected String
getObjectTypeId()
Returns the current object type id, as provided in a call togetObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
.ObjectTypes
getObjectTypes()
Returns the object types which can be utilized by the currently configured OperationType (as defined by the BrowseContext).protected String
getOperationLabel(String operationName)
Returns the operation "display name" for the given operation name.protected String
getOperationRequestElementName(WebServiceBindingOperation bindingOp, com.boomi.webservices.SchemaMap schemaDocMap)
Returns the name of the request element for the given operation.protected String
getOperationResponseElementName(WebServiceBindingOperation bindingOp, WSBrowser.SchemaMapHolder schemaDocMapH)
Returns the name of the response element for the given operation, may benull
if there is no response type.protected List<String>
getOperations()
Returns the list of webservice operations which should be returned to the caller as the available ObjectTypes.protected ObjectDefinitions
getOtherObjectDefinitions(String objectTypeId, Collection<ObjectDefinitionRole> roles)
Returns an ObjectDefinitions instance for any non-EXECUTE operation.protected ObjectTypes
getOtherObjectTypes()
Returns an ObjectTypes instance for any non-EXECUTE operation.protected com.boomi.webservices.ProtocolHandler
getProtocolHandler(javax.wsdl.Definition wsdl)
Returns the currently chosen ProtocolHandler, optionally using the given wsdl definition to determine the appropriate version.protected String
getRpcOperationRequestElementName(WebServiceBindingOperation bindingOp, com.boomi.webservices.SchemaMap schemaDocMap)
Returns the name of the request element for the given operation.protected String
getRpcOperationResponseElementName(WebServiceBindingOperation bindingOp, WSBrowser.SchemaMapHolder schemaDocMapH)
Returns the name of the response element for the given operation.static WebServiceOperation
parseCookie(String cookie)
Returns a WebServiceOperation parsed from a cookie generated bygenerateCookie(com.boomi.model.connector.common.webservices.WebServiceOperation)
.protected void
setObjectTypeId(String newObjectTypeId)
Sets the current object type id.protected void
setProtocolHandler(com.boomi.webservices.ProtocolHandler protocolHandler)
Sets the current ProtocolHandler.protected static String
setRootElement(WSBrowser.SchemaMapHolder schemaDocMapH, QName elQName)
Sets the root schema of the given schemaDocMapHolder to the namespaceURI of the given QName (usingWSBrowser.SchemaMapHolder.setRootSchema(java.lang.String)
) and returns the localName of the given QName.protected static String
setRootElement(com.boomi.webservices.SchemaMap schemaDocMap, QName elQName)
Sets the root schema of the given schemaDocMap to the namespaceURI of the given QName and returns the localName of the given QName.protected ObjectDefinition
toObjectDefinition(com.boomi.webservices.SchemaMap schemaDocMap)
Returns an ObjectDefinition containing the given schemas.protected boolean
useEnvelopeForOperation(WebServiceOperation op)
Returnstrue
if the given webservice operation should expose the entire SOAP operation as the request type (as opposed to the content of the body).protected boolean
useResponseEnvelopeForOperation(WebServiceOperation op)
Returnstrue
if the given webservice operation should expose the entire SOAP operation as the response type (as opposed to the content of the body).protected boolean
useRpcOptionalParameters(WebServiceOperation op)
Returnstrue
if the given webservice operation will allow optional parameters for RPC style operations.-
Methods inherited from class com.boomi.connector.util.BaseBrowser
getContext
-
-
-
-
Constructor Detail
-
WSBrowser
public WSBrowser(WSConnection<BrowseContext> conn)
-
-
Method Detail
-
getProtocolHandler
protected com.boomi.webservices.ProtocolHandler getProtocolHandler(javax.wsdl.Definition wsdl)
Returns the currently chosen ProtocolHandler, optionally using the given wsdl definition to determine the appropriate version.
-
setProtocolHandler
protected void setProtocolHandler(com.boomi.webservices.ProtocolHandler protocolHandler)
Sets the current ProtocolHandler.
-
getConnection
public WSConnection<? extends BrowseContext> getConnection()
Description copied from class:BaseBrowser
Returns the base connection that was either provided or created when this instance was created.- Overrides:
getConnection
in classBaseBrowser
- Returns:
- the base connection
-
getObjectTypeId
protected String getObjectTypeId()
Returns the current object type id, as provided in a call togetObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
.
-
setObjectTypeId
protected void setObjectTypeId(String newObjectTypeId)
Sets the current object type id. Called by the WSBrowser implementation ofgetObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
before any other code is called/executed..
-
getObjectTypes
public ObjectTypes getObjectTypes()
Returns the object types which can be utilized by the currently configured OperationType (as defined by the BrowseContext).WSBrowser implementation returns the result of a call to
getExecuteObjectTypes()
for an operation type of EXECUTE andgetOtherObjectTypes()
for any other operation type.- Returns:
- the available object types (should not be more than
AtomConfig.getMaxNumberObjectTypes()
)
-
getExecuteObjectTypes
protected ObjectTypes getExecuteObjectTypes()
Returns an ObjectTypes instance for an EXECUTE operation created by getting the list of operations available in the webservice wsdl (via a call togetOperations()
) and converting them to ObjectType instances with labels created bygetOperationLabel(java.lang.String)
.
-
getOtherObjectTypes
protected ObjectTypes getOtherObjectTypes()
Returns an ObjectTypes instance for any non-EXECUTE operation. Base implementation throws UnsupportedOperationException.
-
getObjectDefinitions
public ObjectDefinitions getObjectDefinitions(String objectTypeId, Collection<ObjectDefinitionRole> roles)
Returns the object definitions for the given object type id and currently configured OperationType (as defined by the BrowseContext).The returned collection of definitions must correspond to the given collection of roles (the definitions must be in the same order as the roles). There must be a definition for each
"required"
role for a given OperationType. There may be a definition for any"supported"
role for a given OperationType.Note, the DELETE operation is handled uniquely. By default, this method is not invoked for DELETE operations. However, if the connector has specified an "sdkApiVersion" of "1.0.15" or greater in the connector config file, this method will be invoked. In this situation, the connector implementation may set a cookie for the INPUT definition, but any schema will be ignored. Also, the connector implementation may return an OUTPUT definition.
WSBrowser implementation returns the result of a call to
getExecuteObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
for an operation type of EXECUTE andgetOtherObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
for any other operation type. Note, a call tosetObjectTypeId(java.lang.String)
is made before any other methods are called.- Parameters:
objectTypeId
- the id of the relevant object type chosen from the list returned from a previous call toBrowser.getObjectTypes()
roles
- the roles corresponding to the profiles requested- Returns:
- the profile definitions for the object of the given type for the relevant operation
-
getExecuteObjectDefinitions
protected ObjectDefinitions getExecuteObjectDefinitions(String objectTypeId, Collection<ObjectDefinitionRole> roles)
Returns an ObjectDefinitions instance for an EXECUTE operation. First, the schemas are loaded (WSDLUtil.loadSchemas(javax.wsdl.Definition)
) from the current webservice wsdl (WSCache.getDefinition()
), and the relevant operation information is determined (viagetExecuteWebServiceOperation(javax.wsdl.Definition, java.lang.String, com.boomi.webservices.SchemaMap, com.boomi.webservices.ProtocolHandler)
). The bulk of the work, then, is delegated togetObjectDefinitions(WebServiceOperation,Collection,SchemaMap)
.
-
getOtherObjectDefinitions
protected ObjectDefinitions getOtherObjectDefinitions(String objectTypeId, Collection<ObjectDefinitionRole> roles)
Returns an ObjectDefinitions instance for any non-EXECUTE operation. Base implementation throws UnsupportedOperationException.
-
getObjectDefinitions
protected ObjectDefinitions getObjectDefinitions(WebServiceOperation op, Collection<ObjectDefinitionRole> roles, com.boomi.webservices.SchemaMap schemaDocMap) throws com.boomi.webservices.SchemaModelException
Returns an ObjectDefinitions instance for the given operation. The bulk of the method, is determining the request and response types (which are controlled via a number of different customization points). First,useEnvelopeForOperation(com.boomi.model.connector.common.webservices.WebServiceOperation)
is called to determine if the entire SOAP envelope should be included as request type (constructed viagetEnvelopeOperationRequestElementName(com.boomi.model.connector.common.webservices.WebServiceBindingOperation, com.boomi.model.connector.common.webservices.WebServiceProtocol, com.boomi.webservices.SchemaMap)
). If not, thendoWrapRpcOperation(com.boomi.model.connector.common.webservices.WebServiceOperation)
is called to determine if a synthetic type should be generated which wraps all the parameters to an RPC style request. If not, then the default behaviour is to determine the request element name by callinggetOperationRequestElementName(com.boomi.model.connector.common.webservices.WebServiceBindingOperation, com.boomi.webservices.SchemaMap)
. For the envelope and default scenarios, the response element name is determined by callinggetOperationResponseElementName(com.boomi.model.connector.common.webservices.WebServiceBindingOperation, com.boomi.connector.ws.WSBrowser.SchemaMapHolder)
, and for RPC style requests the response element name is determined by callinggetRpcOperationResponseElementName(com.boomi.model.connector.common.webservices.WebServiceBindingOperation, com.boomi.connector.ws.WSBrowser.SchemaMapHolder)
. (Note, an operation may choose to not define a response type by returning anull
value for the response element name.) Once the relevant type names have been determine, the ObjectDefinitions is finally constructed by inserting the relevant schemas (by callingtoObjectDefinition(com.boomi.webservices.SchemaMap)
), setting the relevant type names, and generating a cookie containing the relevant WebServiceOperation (viagenerateCookie(com.boomi.model.connector.common.webservices.WebServiceOperation)
). (Note, no schemas are required for the response type definition if they are the same schemas as the request type definition).- Throws:
com.boomi.webservices.SchemaModelException
-
useResponseEnvelopeForOperation
protected boolean useResponseEnvelopeForOperation(WebServiceOperation op)
Returnstrue
if the given webservice operation should expose the entire SOAP operation as the response type (as opposed to the content of the body). Called bygetExecuteObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
.Default implementation returns
false
.Subclasses may wish to override this if a webservice requires custom envelope elements which are not handled by the connector implementation (although this should only be a last resort as it is highly inconvenient to the connector user).
- Parameters:
op
- the current webservice operation
-
getOperations
protected List<String> getOperations()
Returns the list of webservice operations which should be returned to the caller as the available ObjectTypes. Called bygetExecuteObjectTypes()
.Default implementation returns all operations from the wsdl sorted by name.
Subclasses may wish to override this implementation to remove certain operations or otherwise narrow down the returned list of operations.
-
getOperationLabel
protected String getOperationLabel(String operationName)
Returns the operation "display name" for the given operation name. Called bygetExecuteObjectTypes()
.Default implementation returns the given operationName.
Subclasses may wish to override this to provide "friendlier" display names to the user (e.g. convert
"Some_Operation"
to"Some Operation"
).- Parameters:
operationName
- the operation name as given in the wsdl- Returns:
- the "display name" for the operation to use in the gui
-
useEnvelopeForOperation
protected boolean useEnvelopeForOperation(WebServiceOperation op)
Returnstrue
if the given webservice operation should expose the entire SOAP operation as the request type (as opposed to the content of the body). Called bygetExecuteObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
.Default implementation returns
false
.Subclasses may wish to override this if a webservice requires custom envelope elements which are not handled by the connector implementation (although this should only be a last resort as it is highly inconvenient to the connector user).
- Parameters:
op
- the current webservice operation
-
doWrapRpcOperation
protected boolean doWrapRpcOperation(WebServiceOperation op)
Returnstrue
if the given operation should be wrapped with a synthetic element (often useful for RPC style calls with multiple paramters),false
otherwise. Called bygetExecuteObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
.Default implementation returns
true
if the given operation has an RPC binding style.Subclasses may override this if they wish to handle RPC operations differently.
- Parameters:
op
- the current webservice operation
-
doEnhanceSoapArrayTypes
protected boolean doEnhanceSoapArrayTypes(WebServiceOperation op)
Returnstrue
if the schemas for the given operation should have any soap encoded array types "enhanced". "Enhancing" involves generating more specific type definitions for the array types (viaWSDLUtil.enhanceSoapArrayTypes(com.boomi.webservices.SchemaMap, java.util.Map<java.lang.String, java.lang.String>)
). This is generally a good thing as it makes the resulting types much more useable.Default implementation returns
true
.Subclasses may override this if they wish to handle soap encoded array types differently.
-
useRpcOptionalParameters
protected boolean useRpcOptionalParameters(WebServiceOperation op)
Returnstrue
if the given webservice operation will allow optional parameters for RPC style operations. Not applicable when useEnvelopeForOperation is true. Called bygetExecuteObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
.Default implementation returns
true
.Subclasses may wish to override this if a webservice wants to allow rpc parameters to be optional based on elements sent in the request XML document
- Parameters:
op
- the current webservice operation
-
getExecuteWebServiceOperation
protected WebServiceOperation getExecuteWebServiceOperation(javax.wsdl.Definition wsdl, String objectTypeId, com.boomi.webservices.SchemaMap schemaDocMap, com.boomi.webservices.ProtocolHandler protocolHandler)
Returns the WebServiceOperation for the given object type id (typically an operation name). Called bygetExecuteObjectDefinitions(java.lang.String, java.util.Collection<com.boomi.connector.api.ObjectDefinitionRole>)
.Default implementation returns
WSDLUtil.getWSOperation(Definition,String,ProtocolHandler)
for the given object type id.Subclasses using customized object type ids may override this to change how the type id is linked to the operation name. Alternately, extra operations may be include in the WebServiceOperation information (e.g. for paging results).
- Parameters:
wsdl
- the current web service wsdlobjectTypeId
- the object type id chose by the user from the browsed ObjectTypesschemaDocMap
- the currently defined schemas for the wsdlprotocolHandler
- the current ProtocolHandler- Returns:
- the WebServiceOperation for the given object type id
-
getOperationRequestElementName
protected String getOperationRequestElementName(WebServiceBindingOperation bindingOp, com.boomi.webservices.SchemaMap schemaDocMap) throws com.boomi.webservices.SchemaModelException
Returns the name of the request element for the given operation. The returned element name must exist in the root schema of the given schemaDocMap. Called bygetExecuteWebServiceOperation(javax.wsdl.Definition, java.lang.String, com.boomi.webservices.SchemaMap, com.boomi.webservices.ProtocolHandler)
.Default implementation returns the element name of the input body parameter or input message for the given binding operation (which ever is defined).
Subclasses may wish to override this method to do custom type massaging for the webservice.
- Parameters:
bindingOp
- the current binding operationschemaDocMap
- the currently defined schemas- Returns:
- the name of the element in the root schema which defines the request document
- Throws:
com.boomi.webservices.SchemaModelException
-
getOperationResponseElementName
protected String getOperationResponseElementName(WebServiceBindingOperation bindingOp, WSBrowser.SchemaMapHolder schemaDocMapH) throws com.boomi.webservices.SchemaModelException
Returns the name of the response element for the given operation, may benull
if there is no response type. The returned element name must exist in the root schema of the given schemaDocMap. Called bygetExecuteWebServiceOperation(javax.wsdl.Definition, java.lang.String, com.boomi.webservices.SchemaMap, com.boomi.webservices.ProtocolHandler)
.Default implementation returns the element name of the output body parameter or output message for the given binding operation (which ever is defined).
Subclasses may wish to override this method to do custom type massaging for the webservice.
- Parameters:
bindingOp
- the current binding operationschemaDocMapH
- the currently defined schemas- Returns:
- the name of the element in the root schema which defines the response document, or
null
if none - Throws:
com.boomi.webservices.SchemaModelException
-
getRpcOperationRequestElementName
protected String getRpcOperationRequestElementName(WebServiceBindingOperation bindingOp, com.boomi.webservices.SchemaMap schemaDocMap) throws com.boomi.webservices.SchemaModelException
Returns the name of the request element for the given operation. The returned element name must exist in the root schema of the given schemaDocMap. Called bygetExecuteWebServiceOperation(javax.wsdl.Definition, java.lang.String, com.boomi.webservices.SchemaMap, com.boomi.webservices.ProtocolHandler)
for RPC style operations.Default implementation adds a wrapper for the RPC request parameters using
WSDLUtil.addRequestWrapperForRpcOperation(com.boomi.webservices.SchemaMap, com.boomi.model.connector.common.webservices.WebServiceBindingOperation)
, returning the result of this method call.Subclasses may wish to override this method to do custom type massaging for the webservice.
- Parameters:
bindingOp
- the current binding operationschemaDocMap
- the currently defined schemas- Returns:
- the name of the element in the root schema which defines the request document
- Throws:
com.boomi.webservices.SchemaModelException
-
getRpcOperationResponseElementName
protected String getRpcOperationResponseElementName(WebServiceBindingOperation bindingOp, WSBrowser.SchemaMapHolder schemaDocMapH) throws com.boomi.webservices.SchemaModelException
Returns the name of the response element for the given operation. The returned element name must exist in the root schema of the given schemaDocMap. Called bygetExecuteWebServiceOperation(javax.wsdl.Definition, java.lang.String, com.boomi.webservices.SchemaMap, com.boomi.webservices.ProtocolHandler)
for RPC style operations.Default implementation adds a wrapper for the RPC response parameters using
WSDLUtil.addResponseWrapperForRpcOperation(com.boomi.webservices.SchemaMap, com.boomi.model.connector.common.webservices.WebServiceBindingOperation)
, returning the result of this method call.Subclasses may wish to override this method to do custom type massaging for the webservice.
- Parameters:
bindingOp
- the current binding operationschemaDocMapH
- the currently defined schemas- Returns:
- the name of the element in the root schema which defines the response document
- Throws:
com.boomi.webservices.SchemaModelException
-
getEnvelopeOperationRequestElementName
protected String getEnvelopeOperationRequestElementName(WebServiceBindingOperation bindingOp, WebServiceProtocol soapProtocol, com.boomi.webservices.SchemaMap schemaDocMap) throws com.boomi.webservices.SchemaModelException
Returns the name of the request element for the given operation. The returned element name must exist in the root schema of the given schemaDocMap. Called bygetExecuteWebServiceOperation(javax.wsdl.Definition, java.lang.String, com.boomi.webservices.SchemaMap, com.boomi.webservices.ProtocolHandler)
for requests which will include the entire SOAP envelope in the request type.Default implementation returns the result of a call to
WSDLUtil.addEnvelopeForOperation(com.boomi.webservices.SchemaMap, com.boomi.model.connector.common.webservices.WebServiceProtocol, com.boomi.model.connector.common.webservices.WebServiceBindingOperation)
.Subclasses may wish to override this method to do custom type massaging for the webservice.
- Parameters:
bindingOp
- the current binding operationsoapProtocol
- the current soap protocol versionschemaDocMap
- the currently defined schemas- Returns:
- the name of the element in the root schema which defines the request document
- Throws:
com.boomi.webservices.SchemaModelException
-
getEnvelopeOperationResponseElementName
protected String getEnvelopeOperationResponseElementName(WebServiceBindingOperation bindingOp, WebServiceProtocol soapProtocol, WSBrowser.SchemaMapHolder schemaDocMapH) throws com.boomi.webservices.SchemaModelException
Returns the name of the response element for the given operation. The returned element name must exist in the root schema of the given schemaDocMap. Called bygetExecuteWebServiceOperation(javax.wsdl.Definition, java.lang.String, com.boomi.webservices.SchemaMap, com.boomi.webservices.ProtocolHandler)
for responses which will include the entire SOAP envelope in the response type.Default implementation returns the result of a call to
WSDLUtil.addEnvelopeForOperation(com.boomi.webservices.SchemaMap, com.boomi.model.connector.common.webservices.WebServiceProtocol, com.boomi.model.connector.common.webservices.WebServiceBindingOperation)
.Subclasses may wish to override this method to do custom type massaging for the webservice.
- Parameters:
bindingOp
- the current binding operationsoapProtocol
- the current soap protocol versionschemaDocMapH
- the currently defined schemas- Returns:
- the name of the element in the root schema which defines the response document
- Throws:
com.boomi.webservices.SchemaModelException
-
toObjectDefinition
protected ObjectDefinition toObjectDefinition(com.boomi.webservices.SchemaMap schemaDocMap) throws com.boomi.webservices.SchemaModelException
Returns an ObjectDefinition containing the given schemas.- Parameters:
schemaDocMap
- current collection of schemas, may benull
or empty- Throws:
com.boomi.webservices.SchemaModelException
-
generateCookie
public static String generateCookie(WebServiceOperation wsOperation) throws ConnectorException
Converts the given WebServiceOperation into a "cookie" for embedding within an ObjectDefinition (to be returned during subsequent operation invocations). The operation is converted to a String by using JAXB to marshal the operation to an XML string.- Parameters:
wsOperation
- the current operation, may benull
- Returns:
- the ObjectDefinition cooke for the given operation, may be
null
- Throws:
ConnectorException
-
parseCookie
public static WebServiceOperation parseCookie(String cookie) throws ConnectorException
Returns a WebServiceOperation parsed from a cookie generated bygenerateCookie(com.boomi.model.connector.common.webservices.WebServiceOperation)
.- Parameters:
cookie
- the current operation cookie, may benull
- Returns:
- the WebServiceOperation parsed from the given cookie, will be
null
of the given cookie isnull
or blank - Throws:
ConnectorException
-
setRootElement
protected static String setRootElement(com.boomi.webservices.SchemaMap schemaDocMap, QName elQName)
Sets the root schema of the given schemaDocMap to the namespaceURI of the given QName and returns the localName of the given QName.- Parameters:
schemaDocMap
- the current schemaDocMapelQName
- the desired "root" element- Returns:
- the localName of the given element QName
-
setRootElement
protected static String setRootElement(WSBrowser.SchemaMapHolder schemaDocMapH, QName elQName)
Sets the root schema of the given schemaDocMapHolder to the namespaceURI of the given QName (usingWSBrowser.SchemaMapHolder.setRootSchema(java.lang.String)
) and returns the localName of the given QName.- Parameters:
schemaDocMapH
- holder of the current schemaDocMapelQName
- the desired "root" element- Returns:
- the localName of the given element QName
-
-