Hi
I am getting a complier error in the following code at
clsof_Factory_LineSe can any one help me out . This code works fine in Ms Access2003 but now working in MsAccess2010.I found that IGCTMObjectFactory works as a function in Access2003 and in access 2010 it works as sub routine.Help please
Private sc_LineServiceEJB As SoapClient30
Private Const c_WSDL_URL_QMAS As String = "C:\qmas.wsdl"
Private Const c_WSDL_URL_LOP As String = "C:\lop.wsdl"
Private Const c_SERVICE As String = "LineServiceEJBRemoteIFService"
Private Const c_PORT As String = "LineServiceEJBRemoteIF"
Private Const c_SERVICE_NAMESPACE As String = "http://ejb.lines.service.wax.kcf.com"
Public Sub Custom_Initialize(blnTCS As Boolean)
"C:\qmas.wsdl"
Dim str_WSML As String
str_WSML = "<servicemapping>"
str_WSML = str_WSML & "<service name='LineServiceEJBRemoteIFService'>"
str_WSML = str_WSML & "<using PROGID='MSOSOAP.GenericCustomTypeMapper30' cachable='0' ID='GCTM'/>"
str_WSML = str_WSML & "<types>"
str_WSML = str_WSML & "<type name='Info' targetNamespace='http://dvo.lines.service.wax.kcf.com' uses='GCTM' targetClassName='struct_Info'/>"
str_WSML = str_WSML & "<type name='Message' targetNamespace='http://dvo.lines.service.wax.kcg.com' uses='GCTM' targetClassName='struct_Message'/>"
str_WSML = str_WSML & "<type name='Parameter' targetNamespace='http://dvo.lines.service.wax.kcf.com' uses='GCTM' targetClassName='struct_Parameter'/>"
str_WSML = str_WSML & "<type name='UpdateInfoRequest' targetNamespace='http://dvo.lines.service.wax.kcf.com' uses='GCTM' targetClassName='struct_UpdateInfoR'/>"
str_WSML = str_WSML & "<type name='UpdateInfoResponse' targetNamespace='http://dvo.lines.service.wax.kcf.com' uses='GCTM' targetClassName='struct_UpdateInfoR1'/>"
str_WSML = str_WSML & "</types>"
str_WSML = str_WSML & "</service>"
str_WSML = str_WSML & "</servicemapping>"
Set sc_LineServiceEJB = New SoapClient30
If blnQMAS Then
sc_LineServiceEJB.MSSoapInit2 c_WSDL_URL_QMAS, str_WSML, c_SERVICE, c_PORT, c_SERVICE_NAMESPACE
Else
sc_LineServiceEJB.MSSoapInit2 c_WSDL_URL_LOP, str_WSML, c_SERVICE, c_PORT, c_SERVICE_NAMESPACE
End If
sc_LineServiceEJB.ConnectorProperty("ProxyServer") = "<CURRENT_USER>"
sc_LineServiceEJB.ConnectorProperty("EnableAutoProxy") = True
sc_LineServiceEJB.ConnectorProperty("Timeout") = 180000
Set sc_LineServiceEJB.ClientProperty("GCTMObjectFactory") = New clsof_Factory_LineSe
End Sub
Private Sub Class_Terminate()
On Error GoTo Class_TerminateTrap
Set sc_LineServiceEJB = Nothing
Exit Sub
Class_TerminateTrap:
LineServiceEJBErrorHandler ("Class_Terminate")
End Sub
Private Sub LineServiceEJBErrorHandler(str_Function As String)
If sc_LineServiceEJB.FaultCode <> "" Then
Err.Raise vbObjectError, str_Function, sc_LineServiceEJB.FaultString
Else
Err.Raise Err.Number, str_Function, Err.Description
End If
End Sub
Public Function wsm_updateInfo(ByVal obj_updateRequest As struct_InfoR) As struct_UpdateInfoR1
On Error GoTo wsm_updateInfoTrap
Set wsm_updateInfo = sc_LineServiceEJB.updateInfo(obj_updateRequest)
Exit Function
wsm_updateInfoTrap:
LineServiceEJBErrorHandler "wsm_updateInfo"
End Function
The code of clsof_Factory_LineSe
Private Function IGCTMObjectFactory_CreateObject(ByVal par_WSMLNode As MSXML2.IXMLDOMNode) As Object
Dim node As IXMLDOMNode
On Error GoTo IGCTMObjectFactoryTrap
Set node = par_WSMLNode.Attributes.getNamedItem("targetClassName")
Set IGCTMObjectFactory_CreateObject = Nothing
If Not (node Is Nothing) Then
Select Case node.NODEVALUE
Case "struct_LicenseeInfo"
Set IGCTMObjectFactory_CreateObject = New struct_Info
Case "struct_Message"
Set IGCTMObjectFactory_CreateObject = New struct_Message
Case "struct_Parameter"
Set IGCTMObjectFactory_CreateObject = New struct_Parameter
Case "struct_UpdateLicenseesInfoR"
Set IGCTMObjectFactory_CreateObject = New struct_UpdateInfoR
Case "struct_UpdateLicenseesInfoR1"
Set IGCTMObjectFactory_CreateObject = New struct_UpdateInfoR1
End Select
End If
Exit Function
IGCTMObjectFactoryTrap:
Err.Raise Err.Number, "clsof_Factory_LineSe", Err.Description
End Function