Importing SAP BAPI as Generated Item - String Object
Am new to BizTalk, working on BT 2013 using Visual Studio 2012. Am adding a "generated item" for Z_BAPI_SALESORDER_CHANGE (using the "Consume Adapter Service" dialog) and am receiving the message below. Our ABAP programmer tells me it's
type STRING which is causing the issue, but STRING is supposed to be an acceptable type (here: http://msdn.microsoft.com/en-us/library/dd787893%28v=bts.80%29.aspx). What am I missing?
Appreciate the help!
Microsoft.ServiceModel.Channels.Common.MetadataException: Retrieval of Type Metadata has failed while building WSDL at 'SAPTABLE/ZSSM_SO_HEADER_IN_CHANGE'
---> Microsoft.ServiceModel.Channels.Common.MetadataException: The SAP system returned error: Details: ErrorCode=RFC_EXCEPTION. ErrorGroup=RFC_ERROR_APPLICATION_EXCEPTION. SapErrorMessage=UNSUPPORTED_TYPE. AdapterErrorMessage=The RfcGetStructureInfoAsTable
API returned the error code 2 when obtaining metadata for the type ZSSM_SO_HEADER_IN_CHANGE. Check the RFC SDK trace files for details.. when trying to retrieve metadata for table: ZSSM_SO_HEADER_IN_CHANGE.
Is it possible that your table is an ITAB II type table?
Because that is not supported by the SAP Adapter in BizTalk, see the limitations list
http://msdn.microsoft.com/library/dd787849(BTS.10).aspx
Glenn Colpaert - MCTS BizTalk Server - Blog : http://blog.codit.eu
Similar Messages
-
SAP Soamanager WSDL generates n0:string instead of xsd:string in 7.3
I´m using the Soamanager to create a Service for a Enterprise Service
Provider. The web service is generated based on a custom function
module. My intention is to consume a soap webservice via .net
application. Actually this works fine with the legacy BW 7.0 system.
But after we migrate the web service to the new BW 7.3 system, the web service interface is changed.
I have taken a look at the generated WSDL-file from Soamanager, the soamanager
generates the different type for string parameters. The
Import/Export parameter should be of type xsd:string, but it is
actually n0:string. but i need xsd:string for soap.
I´ve tried several datatypes in function module, e.g string,
char,....but always the same...n0:string instead of xsd:string.
Can you help on how to change the sting type in wsdl?
Thanks,How about a slight change to the xsd? Try with the following, it seems to work fine:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Orders" type="Orders"/>
<xsd:complexType name="Orders">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="ligne">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Field1" type="xsd:string" />
<xsd:element name="Field2" type="xsd:string" />
<xsd:element name="Field3" type="xsd:string" />
<xsd:element name="Field4" type="xsd:string" />
<xsd:element name="Qte" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:schema>
You might also find this tool useful for testing such scenarios:
http://xsdvalidation.utilities-online.info/
By the way - how did you get the xsd that you are currently using? -
BAPI-VB, Unable to call method GetDetail of USER Object using SAP.BAPI.1
Hi,
I am trying to call SAP Methods using Excel VBA.
In the below example, I am trying to get the user details.
I can solve this, if I use SAP.Functions object, but not when I use SAP.BAPI.1 object.
The Procedure GetUserDetails() works fine, but the 2nd one GetUserDetails2() fails?
Can you tell what is the difference in calling SAP method with SAP.Functions and SAP.BAPI.1 ?
Also how can I run the program GetDetails2() using SAP.BAPI.1
Const CNT_STR_USR As String = "XXXXX"
Const CNT_STR_PWD As String = "XXXXX"
Const CNT_STR_APPLN_SRVR As String = "ides47"
Const CNT_STR_SYSTEM As String = "IDS"
Const CNT_STR_SYS_NUM As String = "00"
Const CNT_STR_CLIENT As String = "800"
Const CNT_STR_LOGON_LANG As String = "EN"
Const CNT_STR_LOG_FILE As String = "C:sap_vb.txt"
Const CNT_INT_LOG_LEVEL As Integer = 9
'Works Fine
Public Sub GetUserDetails()
'Using SAP Functions
Dim obSAPFn As Object
Dim obFuncUsrDtl As Object
Dim obFuncRtrn As Object
Dim obFuncLogDtl As Object
Dim sRetStatus As String * 1, sErrText As String, sUsrGroup As String * 12
Dim iRetRowCount As Integer, iLoop As Integer
Dim bErrFlag As Boolean
'Set obSAPFn = New SAPFunctions
Set obSAPFn = CreateObject("SAP.Functions")
obSAPFn.Connection.ApplicationServer = CNT_STR_APPLN_SRVR
obSAPFn.Connection.SystemNumber = CNT_STR_SYS_NUM
obSAPFn.Connection.User = CNT_STR_USR
obSAPFn.Connection.Password = CNT_STR_PWD
obSAPFn.Connection.Language = CNT_STR_LOGON_LANG
obSAPFn.Connection.Client = CNT_STR_CLIENT
obSAPFn.LogLevel = CNT_INT_LOG_LEVEL
obSAPFn.LogFileName = CNT_STR_LOG_FILE
'Check For Connection
If obSAPFn.Connection.Logon(0, True) = False Then
MsgBox "R/3 connection failed"
Exit Sub
Else
If obSAPFn.Connection.IsConnected Then
' MsgBox "Connected"
Else
MsgBox "Not COnnected"
Exit Sub
End If
End If
'Get User Details.
Set obFuncUsrDtl = obSAPFn.Add("BAPI_USER_GET_DETAIL")
obFuncUsrDtl.Exports("USERNAME") = CNT_STR_USR
obFuncUsrDtl.Call
Set obFuncRtrn = obFuncUsrDtl.Tables("RETURN")
iRetRowCount = obFuncRtrn.RowCount
bErrFlag = False
For iLoop = 1 To iRetRowCount
If obFuncRtrn(iLoop, "TYPE") = "E" Then
' ErrorUsuario = True
sErrText = "E" & obFuncRtrn(iLoop, "ID") & obFuncRtrn(iLoop, "NUMBER") & _
" " & obFuncRtrn(iLoop, "MESSAGE")
MsgBox sErrText
bErrFlag = True
Exit For
End If
Next
If bErrFlag = False Then
Set obFuncLogDtl = obFuncUsrDtl.Imports("LOGONDATA")
sUsrGroup = obFuncLogDtl("CLASS")
MsgBox sUsrGroup
End If
Set obFuncRtrn = Nothing
Set obFuncLogDtl = Nothing
Set obFuncUsrDtl = Nothing
obSAPFn.Connection.LogOff
Set obSAPFn = Nothing
End Sub
' Does not work
Public Sub GetUserDetails2()
'Using BAPI Object
Dim obSapBAPICtrl As Object 'BAPI control object
'Dim obSAPConn As Object 'Connection object
Dim obSAPUSER As Object ' To Get Details of USER Object
Dim obLogondata As Object, obDefaults As Object, obAddress As Object, obCompany As Object
Dim obSnc As Object, obParameter As Object, obProfiles As Object, obActivitygroups As Object
Dim obReturn As Object, obAddComrem As Object, obAddRml As Object, obAddPag As Object
Dim obAddUri As Object, obAddSsf As Object, obAddPrt As Object, obAddRfc As Object
Dim obAddX400 As Object, obAddSmtp As Object, obAddTlx As Object, obAddTtx As Object
Dim obAddTel As Object, obAddFax As Object, obParameter1 As Object
Dim sRetStatus As String * 1, sTransId As String, sUsrGroup As String
Dim iRetRowCount As Integer, iLoop As Integer
Set obSapBAPICtrl = CreateObject("SAP.BAPI.1")
obSapBAPICtrl.Connection.ApplicationServer = CNT_STR_APPLN_SRVR
obSapBAPICtrl.Connection.SystemNumber = CNT_STR_SYS_NUM
obSapBAPICtrl.Connection.User = CNT_STR_USR
obSapBAPICtrl.Connection.Password = CNT_STR_PWD
obSapBAPICtrl.Connection.Language = CNT_STR_LOGON_LANG
obSapBAPICtrl.Connection.Client = CNT_STR_CLIENT
obSapBAPICtrl.LogLevel = CNT_INT_LOG_LEVEL
obSapBAPICtrl.LogFileName = CNT_STR_LOG_FILE
'Don't show the logon details
'Connect to SAP
If obSapBAPICtrl.Connection.Logon(0, True) = False Then
MsgBox "R/3 connection failed"
Exit Sub
Else
If obSapBAPICtrl.Connection.IsConnected Then
' MsgBox "Connected"
Else
MsgBox "Not COnnected"
Exit Sub
End If
End If
Could not find a way to pass the User Id?
Is this the right way to pass the user Id for this Object?
Set obSAPUSER = obSapBAPICtrl.GetSAPObject("USER", CNT_STR_USR)
Set obLogondata = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Logondata")
Set obDefaults = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Defaults")
Set obAddress = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Address")
Set obCompany = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Company")
Set obSnc = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Snc")
Set obParameter = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Parameter")
Set obProfiles = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Profiles")
Set obActivitygroups = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Activitygroups")
Set obReturn = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Return")
Set obAddComrem = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddComrem")
Set obAddRml = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddRml")
Set obAddPag = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddPag")
Set obAddUri = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddUri")
Set obAddSsf = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddSsf")
Set obAddPrt = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddPrt")
Set obAddRfc = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddRfc")
Set obAddX400 = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddX400")
Set obAddSmtp = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddSmtp")
Set obAddTlx = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddTlx")
Set obAddTtx = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddTtx")
Set obAddTel = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddTel")
Set obAddFax = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "AddFax")
Set obParameter1 = obSapBAPICtrl.DimAs(obSAPUSER, "GetDetail", "Parameter1")
sTransId = obSapBAPICtrl.CreateTransactionID()
'obSapBAPICtrl.TransactionId = sTransId
obSAPUSER.GetDetail Logondata:=obLogondata, Defaults:=obDefaults, Address:=obAddress, _
Company:=obCompany, Snc:=obSnc, Parameter:=obParameter, Profiles:=obProfiles, _
Activitygroups:=obActivitygroups, Return:=obReturn, AddComrem:=obAddComrem, _
AddRml:=obAddRml, AddPag:=obAddPag, AddUri:=obAddUri, AddSsf:=obAddSsf, _
AddPrt:=obAddPrt, AddRfc:=obAddRfc, AddX400:=obAddX400, AddSmtp:=obAddSmtp, _
AddTlx:=obAddTlx, AddTtx:=obAddTtx, AddTel:=obAddTel, AddFax:=obAddFax, _
Parameter1:=obParameter
iRetRowCount = obReturn.RowCount
If iRetRowCount > 0 Then
For iLoop = 0 To iRetRowCount
sRetStatus = obReturn(iLoop, "TYPE")
If sRetStatus = "S" Then
sUsrGroup = obLogondata("CLASS")
MsgBox sUsrGroup
End If
Next
End If
Set obSAPUSER = Nothing
obSapBAPICtrl.Connection.LogOff
'Set obSAPConn = Nothing
Set obSapBAPICtrl = Nothing
End Sub
Regards,
VikasThe problem was occuring because, the structure Return was not holding any values.
But the other tables which returned values were getting populated.
Regards,
Vikas -
Error : while Importing SAP Objects in ESR.
I am getting error, while importing SAP object in a scenario in ESR.
What can be the issue ? as we have configured all the beckend settings & sldcheck is also OK.
Also, we are using proxy scenarios are working fine on system.
The details are as below :
at com.sap.aii.ib.server.upload.UploadServiceBean.openSAPSource(UploadServiceBean.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatefulTransactionAssociation.invoke(Interceptors_StatefulTransactionAssociation.java:43)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatefulSessionInstanceGetter.invoke(Interceptors_StatefulSessionInstanceGetter.java:37)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at $Proxy1366.openSAPSource(Unknown Source)Hello,
Have you used the notes to import ESR content?
Refer to one of them according to your system version:
PI 7.1X:
#1152640 - SAP NetWeaver 7.1 including EHP 1: Importing ESR content
XI 7.0:
#836200 - SAP NetWeaver 7.0: Importing Process Integration Content
XI 3.0:
#705541 - XI 3.0 (SP1 and higher): Importing XI Content
Regards,
Caio Cagnani -
How to retrieve the data from SAP-BAPI by using VB Code
Hi ,
I am new to BAPI.
V have created an application in Visual Basic with the following fields
EmpNo , EmpName, Addr1, Addr2, City and Phone (Only for Test)
We have written the code for SAVING the data into SAP. Already we have
constructed a table with the respective fields in SAP.
For that we ourself created our own BAPI Structure / Function Group /
Function Module/ Business Object - RELEASED related elements.
1)Established the connection successfully.
2)Stored the data into SAP Successfully and v r in need of
3)HOW TO RETRIEVE THE DATA FROM SAP (USING GETLIST.....GETDETAIL....)
Following is the code :
'BAPI Structure : ZBAPIEMP
'Function Group : ZBAPIEMP
'Function Module : ZBAPI_EMP_CREATEFROMDATA
'Business Object : ZBAPIEMP
'Function Module : ZBAPI_EMP_GETLIST
Dim bapictrl As Object
Dim oconnection As Object
Dim boEmp As Object
Dim oZEmp_Header As Object
Dim oImpStruct As Object
Dim oExpStruct As Object
Dim oreturn As Object
Dim x As String
Private Sub Form_Load()
Set bapictrl = CreateObject("SAP.BAPI.1")
Set oconnection = bapictrl.Connection
oconnection.logon
Set boEmp = bapictrl.GetSAPObject("ZBAPIEMP")
Set oZEmp_Header = bapictrl.DimAs(boEmp, "CreateFromData", "EmployeeHeader")
Set oImpStruct = bapictrl.DimAs(boEmp, "GetList", "EmployeeDispStruct")
End Sub
Private Sub cmdSave_Click()
oZEmp_Header.Value("EMPNO") = txtEmpNo.Text
oZEmp_Header.Value("EMPNAME") = txtEmpName.Text
oZEmp_Header.Value("ADDR1") = txtAddr1.Text
oZEmp_Header.Value("ADDR2") = txtAddr2.Text
oZEmp_Header.Value("CITY") = txtCity.Text
oZEmp_Header.Value("PHONE") = txtPhone.Text
boEmp.CreateFromData EmployeeHeader:=oZEmp_Header, Return:=oreturn
x = oreturn.Value("Message")
If x = "" Then
MsgBox "Transaction Completed!..."
Else
MsgBox x
End If
End Sub
Private Sub cmdView_Click()
End Sub
COULD ANYBODY GUIDE ME, HOW TO RETRIEVE THE DATA FROM BAPI, FOR THE WRITTEN CODE.I didn't seen any other answers but here's how it's been done previously in our organization for a custom BAPI. In this example, we give material and language to return the part description. It's not specific to your project but may give you ideas..
-Tim
Option Compare Database
Dim SAPLOGIN As Boolean
Dim FunctionCtrl As Object
Dim SapConnection As Object
Sub SAPLOGOUT()
On Error GoTo LogoutFehler
SapConnection.logoff
SAPLOGIN = False
Exit Sub
LogoutFehler:
If Err.Number = 91 Then
Exit Sub
Else
MsgBox Err.Description, vbCritical, "Fehler-Nr." & CStr(Err.Number) & " bei SAP-Logout"
End If
End Sub
Function SAPLOG() As Boolean
'Verbindungsobjekt setzen (Property von FunctionCtrl)
Set FunctionCtrl = CreateObject("SAP.Functions")
Set SapConnection = FunctionCtrl.Connection
'Logon mit Initialwerten
SapConnection.Client = "010"
SapConnection.Language = "EN"
SapConnection.System = "PR1"
SapConnection.SystemNumber = "00"
'SapConnection.Password = ""
SapConnection.GroupName = "PR1"
SapConnection.HostName = "168.9.25.120"
SapConnection.MessageServer = "168.9.25.120"
If SapConnection.Logon(0, False) <> True Then 'Logon mit Dialog
Set SapConnection = Nothing
DoCmd.Hourglass False
MsgBox "No connection to SAP R/3 !"
SAPLOGIN = False
SAPLOG = False
Exit Function
End If
SAPLOG = True
End Function
Function MatDescr(MatNr As String)
Dim func1 As Object
Dim row As Object, X As Integer, ErsteNr As String
Dim DatensatzZähler As Long
Dim RowField(1 To 50, 0 To 1) As String, RowLine As Long
If Not SAPLOGIN Then
If Not SAPLOG() Then
MsgBox "No connection to SAP !", 16
SAPLOGOUT
Exit Function
End If
End If
' Instanziieren des Function-Objektes
Set func1 = FunctionCtrl.Add("Z_BAPI_READ_MAKT")
' Export-Paramter definieren
func1.exports("MATNR") = MatNr
func1.exports("SPRAS") = "EN"
DoEvents
If Not func1.call Then
If func1.exception <> "" Then
MsgBox "Communication Error with RFC " & func1.exception
End If
DoCmd.Hourglass False
SAPLOGOUT
Exit Function
Else
MatDescr = func1.imports("MAKTX")
End If
If MatDescr = "" Then
MatDescr = "PART NO. NOT FOUND"
End If
End Function -
Error generating Client Proxy - object missing in WSDL
Hello,
I have error while generating Client Proxy.
I have WSDL and XSD in files. I get error message:
object <message name="requestUPOMessage"> missing in WSDL
Diagnosis
In the WSDL document, the object
"<portType name="GateServicePortType"> <operatio..."
from the namespace
"https://bramka.edeklaracje. mf.gov.pl/"
links to the object
"<message name="requestUPOMessage">"
from the namespace
"https://bramka.e-deklaracje.mf.gov.pl/"
However, this last object does not exist in the WSDL document.
WSDL FILE and XSD FILE: http://www.sendspace.com/filegroup/N8kSxPp5bhY2nVfcNBbAXg
WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ns="https://bramka.edeklaracje.
mf.gov.pl/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:gate="https://bramka.e-deklaracje.mf.gov.pl/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="https://bramka.edeklaracje.
mf.gov.pl/">
<wsdl:types>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="https://bramka.e-deklaracje.mf.gov.pl/xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="GateService.xsd"/>
</xs:schema>
</wsdl:types>
<wsdl:message name="sendDocumentWithAttachmentResponseMessage">
<wsdl:part name="part1" element="ns:sendDocumentWithAttachmentResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sendUnsignDocumentResponseMessage">
<wsdl:part name="part1" element="ns:sendUnsignDocumentResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="requestUPOResponseMessage">
<wsdl:part name="part1" element="ns:requestUPOResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sendDocumentResponseMessage">
<wsdl:part name="part1" element="ns:sendDocumentResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sendUnsignDocumentMessage">
<wsdl:part name="part1" element="ns:sendUnsignDocument">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sendDocumentMessage">
<wsdl:part name="part1" element="ns:sendDocument">
</wsdl:part>
</wsdl:message>
<wsdl:message name="requestUPOMessage">
<wsdl:part name="part1" element="ns:requestUPO">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sendDocumentWithAttachmentMessage">
<wsdl:part name="part1" element="ns:sendDocumentWithAttachment">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="GateServicePortType">
<wsdl:operation name="sendDocument">
<wsdl:input message="gate:sendDocumentMessage">
</wsdl:input>
<wsdl:output message="gate:sendDocumentResponseMessage">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendUnsignDocument">
<wsdl:input message="gate:sendUnsignDocumentMessage">
</wsdl:input>
<wsdl:output message="gate:sendUnsignDocumentResponseMessage">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendDocumentWithAttachment">
<wsdl:input message="gate:sendDocumentWithAttachmentMessage">
</wsdl:input>
<wsdl:output message="gate:sendDocumentWithAttachmentResponseMessage">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="requestUPO">
<wsdl:input message="gate:requestUPOMessage">
</wsdl:input>
<wsdl:output message="gate:requestUPOResponseMessage">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GateServiceSOAP12Binding" type="gate:GateServicePortType">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sendDocument">
<soap12:operation soapAction="urn:sendDocument" style="document"/>
<wsdl:input>
<soap12:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendUnsignDocument">
<soap12:operation soapAction="urn:sendUnsignDocument" style="document"/>
<wsdl:input>
<soap12:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendDocumentWithAttachment">
<soap12:operation soapAction="urn:sendDocumentWithAttachment" style="document"/>
<wsdl:input>
<soap12:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="requestUPO">
<soap12:operation soapAction="urn:requestUPO" style="document"/>
<wsdl:input>
<soap12:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="GateServiceSOAP11Binding" type="gate:GateServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sendDocument">
<soap:operation soapAction="urn:sendDocument" style="document"/>
<wsdl:input>
<soap:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendUnsignDocument">
<soap:operation soapAction="urn:sendUnsignDocument" style="document"/>
<wsdl:input>
<soap:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendDocumentWithAttachment">
<soap:operation soapAction="urn:sendDocumentWithAttachment" style="document"/>
<wsdl:input>
<soap:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="requestUPO">
<soap:operation soapAction="urn:requestUPO" style="document"/>
<wsdl:input>
<soap:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="https://bramka.e-deklaracje.mf.gov.pl/"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GateService">
<wsdl:port name="GateServiceSOAP12port" binding="gate:GateServiceSOAP12Binding">
<soap12:address location="https://test-bramka.edeklaracje.gov.pl/uslugi/dokumenty/"/>
</wsdl:port>
<wsdl:port name="GateServiceSOAP11port" binding="gate:GateServiceSOAP11Binding">
<soap:address location="https://test-bramka.edeklaracje.gov.pl/uslugi/dokumenty/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="https://bramka.edeklaracje.
mf.gov.pl/xsd" targetNamespace="https://bramka.e-deklaracje.mf.gov.pl/xsd"
elementFormDefault="qualified" attributeFormDefault="qualified">
<xs:element name="sendDocument">
<xs:complexType>
<xs:sequence>
<xs:element name="document" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sendDocumentResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="refId" type="xs:string" minOccurs="0"/>
<xs:element name="status" type="xs:int"/>
<xs:element name="statusOpis" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sendUnsignDocument">
<xs:complexType>
<xs:sequence>
<xs:element name="document" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sendUnsignDocumentResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="refId" type="xs:string" minOccurs="0"/>
<xs:element name="status" type="xs:int"/>
<xs:element name="statusOpis" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sendDocumentWithAttachment">
<xs:complexType>
<xs:sequence>
<xs:element name="attachment" type="xs:base64Binary" minOccurs="0"/>
<xs:element name="document" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sendDocumentWithAttachmentResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="refId" type="xs:string" minOccurs="0"/>
<xs:element name="status" type="xs:int"/>
<xs:element name="statusOpis" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="requestUPO">
<xs:complexType>
<xs:sequence>
<xs:element name="refId" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="requestUPOResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="upo" type="xs:string" minOccurs="0"/>
<xs:element name="status" type="xs:int"/>
<xs:element name="statusOpis" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Maybe someone know what is wrong in wsdl file and how to correct this?Hi Marcus,
Did you fix the problem?
I'm asking because I'm dealing with the same problem! I tried to generate a Proxy object from a WSDL document and I can't... I always receive the error "Cannot generate proxy (object missing in WSDL, see long text)". I have checked on the service.sap.com and I found a xls document with all unsupported WSDL elements and one of them is the "part name=" and I have it in my WSDL! I don't know how to workaround this issue, can you help me please?
Thanks in advance,
Ricardo. -
Hello,
This is a cross post from LAVA forum...
I'm trying to integrate our test stations to SAP ERP. SAP stores data in busines objects in busines object repository. The objects are exposed over BAPI interface. There is a lot of different busines objects in the repository. SAP developers can also build new objects if they want. The objective is to read inspection characeristics from quality management module of SAP. I haven't done much ActiveX stuff, neither know much about SAP, so I started with a simple example that I found searching for BAPI examples. The example works fine in Excel. The example just reads some data from a sales order object.
Sub BAPI1()Dim
oBook As Workbook
Dim oSheet As Worksheet
Dim oBAPICtrl As Object
Dim oBAPILogon As Object
Dim oSalesOrder As Object
Dim oItem As Object
Dim iIndex As Integer
Set oBook = Application.ActiveWorkbook
Set oSheet = oBook.Worksheets(1)
' Initialize SAP ActiveX Control.
Set oBAPICtrl = CreateObject("sap.bapi.1")
' Initialize SAP ActiveX Logon.
Set oBAPILogon = CreateObject("sap.logoncontrol.1")
' Initialize the connection object.
Set oBAPICtrl.Connection = oBAPILogon.newconnection
' Logon with prompt.
oBAPICtrl.Connection.System = "Q02"
oBAPICtrl.Connection.Client = 101
oBAPICtrl.Connection.Logon
' Retrieve a sales order.
Set oSalesOrder = oBAPICtrl.GetSAPObject("SalesOrder","0010732181")
' Display Sales Order header data.
oSheet.Cells(2, 1).Value = oSalesOrder.salesdocument
oSheet.Cells(2, 2).Value = oSalesOrder.netvalue
oSheet.Cells(2, 3).Value = oSalesOrder.orderingparty.customerno
oSheet.Cells(2, 4).Value = oSalesOrder.documentdate
oSheet.Cells(2, 5).Value = oSalesOrder.items.Count
' Logoff SAP and close the control.
oBAPICtrl.Connection.logoff
Set oBAPILogon = Nothing
Set oBAPICtrl = Nothing
End Sub
I tried to implement that in LabVIEW. The logon and logout part works, I can also obtain SalesOrder object with GetSAPObject method. There is no error and probing the Object output from GetSAPObject methods gives an integer value - probably a reference to the SalesOrder object.
Now I can't figure out how do I read the object properties. It's very simple in VBA. I also don't know how do I call object methods. This is apicture from SAP BAPI documentatios showing available properties and methods.
I would appreciate any hints...
bye, MirkoNo, there isn't any reference type that matches BAPI Object. In fact, there can't be a fixed type reference, since BAPI object are actually function modules that SAP programmers write themselves using language called ABAP. I concluded that we can't call the object methods or read/write properties in LabVIEW, if we don't know the right type at development time. So, I gave up on BAPI API.
There are also other methods of SAP integration. O step down on abstraction scale is Remote Function Call (RFC) API. The API is much more involved, but it allows us to call functions that are behind BAPI objects. In a few test that I did it worked fine. The interface is exposed over three ActiveX controls - SAP Remote Function Call Control, SAP Table Factory Control and SAP Logon Control.
There is also .NET assembly and web services which I didn't tried.
Regards, Mirko -
Hi Everyone,
Im trying to consume a web serviceclient in NWDS through a servlet.
I need to import the package <b>com.sap.engine.services.webservices.espbase.client.api.*;</b>( to give the HTTP proxy settings)
which is not available in the IDE.
Could you please help me out on the same.Hi Hristo,
Thanks a lot for ur suggestion,im till getting the same exception ,The code is as follows:Would appreciate ur help again
@WebServiceRef(name="SalesOrder")SalesOrderByIDQueryResponseInService service;
public SalesOrderByIdResponse() {
super();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
// Get the port from the service instance
SalesOrderByIDQueryResponseIn port = service.getSalesOrderByIDQueryResponse_InSoapBinding();
Authenticator.setDefault(new Authenticator()
protected PasswordAuthentication getPasswordAuthentication() {
return new
PasswordAuthentication("username","password".toCharArray());
System.setProperty("proxyHost", "proxy1.wxyz.com");
System.setProperty("http.proxyHost", "proxy1.wxyz.com");
System.setProperty("proxyPort", "8080");
System.setProperty("http.proxyPort", "50104");
javax.xml.ws.BindingProvider bp = (javax.xml.ws.BindingProvider) port;
Map<String,Object> context = bp.getRequestContext();
context.put("javax.xml.ws.security.auth.username","s0004385249");
context.put("javax.xml.ws.security.auth.password","wipro123");
SalesOrderByIDQueryMessage_SyncType input = new SalesOrderByIDQueryMessage_SyncType();
SalesOrderSelectionByIDAnonymous selectionById = new SalesOrderSelectionByIDAnonymous();
input.setSalesOrderSelectionByID(selectionById);
SalesOrderIDType id = new SalesOrderIDType();
selectionById.setSalesOrderID(id);
id.setValue("9999");
// Call the service
SalesOrderByIDResponseMessage_SyncType output = port.salesOrderByIDQueryResponseIn(input);
SalesOrderAnonymous order = output.getSalesOrder();
// Evaluate and display the response
PrintWriter writer = response.getWriter();
writer.println("Details found for order " + id.getValue() + ":");
writer.println("<br>buyerID: " + order.getBuyerID().getValue());
writer.println("<br>date: " + order.getDate());
writer.println("<br>payerParty: " + order.getPayerParty().getFormattedName().getValue());
writer.println("<br>pricingTerms / currency: " + order.getPricingTerms().getCurrencyCode());
catch (Exception e)
throw new ServletException(e);
The prog gets deployed successfully but when i call the servlet,This is the error i get despite ur suggestion
"Application error occurred during the request procession."
Details: <b>Exception:</b>
javax.servlet.ServletException: javax.xml.ws.WebServiceException: HTTP Status-Code 407: Proxy Authentication Required
at testsoid.SalesOrderByIdResponse.doGet(SalesOrderByIdResponse.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:59)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:31)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:288)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:308)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:221)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:137)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:229)
Caused by: javax.xml.ws.WebServiceException: HTTP Status-Code 407: Proxy Authentication Required
at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:81)
at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.toSOAPMessage(SOAPXMLDecoder.java:100)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:438)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:258)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:137)
at com.sun.xml.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:84)
at com.sun.xml.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:172)
at com.sun.xml.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:106)
at $Proxy342_10002.salesOrderByIDQueryResponseIn(Unknown Source)
at testsoid.SalesOrderByIdResponse.doGet(SalesOrderByIdResponse.java:61)
... 30 more
Caused by: HTTP Status-Code 407: Proxy Authentication Required
at com.sun.xml.ws.transport.http.client.HttpClientTransport.checkResponseCode(HttpClientTransport.java:305)
at com.sun.xml.ws.transport.http.client.HttpClientTransport.getHeaders(HttpClientTransport.java:158)
at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:57)
... 39 more
<BR><BR><b>Root cause:</b>
javax.xml.ws.WebServiceException: HTTP Status-Code 407: Proxy Authentication Required
at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:81)
at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.toSOAPMessage(SOAPXMLDecoder.java:100)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:438)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:258)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:137)
at com.sun.xml.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:84)
at com.sun.xml.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:172)
at com.sun.xml.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:106)
at $Proxy342_10002.salesOrderByIDQueryResponseIn(Unknown Source)
at testsoid.SalesOrderByIdResponse.doGet(SalesOrderByIdResponse.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:59)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:31)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:288)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:308)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:221)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:137)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:229)
Caused by: HTTP Status-Code 407: Proxy Authentication Required
at com.sun.xml.ws.transport.http.client.HttpClientTransport.checkResponseCode(HttpClientTransport.java:305)
at com.sun.xml.ws.transport.http.client.HttpClientTransport.getHeaders(HttpClientTransport.java:158)
at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:57)
... 39 more
javax.xml.ws.WebServiceException: HTTP Status-Code 407: Proxy Authentication Required
at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:81)
at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.toSOAPMessage(SOAPXMLDecoder.java:100)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:438)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:258)
at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:137)
at com.sun.xml.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:84)
at com.sun.xml.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:172)
at com.sun.xml.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:106)
at $Proxy342_10002.salesOrderByIDQueryResponseIn(Unknown Source)
at testsoid.SalesOrderByIdResponse.doGet(SalesOrderByIdResponse.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:59)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:31)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:288)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:308)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:221)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:137)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:229)
Caused by: HTTP Status-Code 407: Proxy Authentication Required
at com.sun.xml.ws.transport.http.client.HttpClientTransport.checkResponseCode(HttpClientTransport.java:305)
at com.sun.xml.ws.transport.http.client.HttpClientTransport.getHeaders(HttpClientTransport.java:158)
at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:57)
... 39 more -
Can we change data in string object.
Can we change data in string object.
Saw this hack to access the char[]'s in a String in another thread. Beware that the effects of doing this is possible errors, like incorrect hashCode etc.
import java.lang.reflect.*;
public class SharedString {
public static Constructor stringWrap = null;
public static String wrap(char[] value, int offset, int length) {
try {
if (stringWrap == null) {
stringWrap = String.class.getDeclaredConstructor(new Class[] { Integer.TYPE, Integer.TYPE, char[].class });
stringWrap.setAccessible(true);
return (String)stringWrap.newInstance(new Object[] { new Integer(offset), new Integer(length), value });
catch (java.lang.NoSuchMethodException e) {
System.err.println ("NoMethod exception caught: " + e);
catch (java.lang.IllegalAccessException e) {
System.err.println ("Access exception caught: " + e);
catch (java.lang.InstantiationException e) {
System.err.println ("Instantiation exception caught: " + e);
catch (java.lang.reflect.InvocationTargetException e) {
System.err.println ("Invocation exception caught: " + e);
return null;
public static void main(String[] args) {
char[] chars = new char[] { 'l', 'e', 'v', 'i', '_', 'h' };
String test = SharedString.wrap(chars, 0, chars.length);
System.out.println("String test = " + test);
chars[0] = 'k';
chars[1] = 'a';
chars[2] = 'l';
chars[3] = 'l';
chars[4] = 'a';
chars[5] = 'n';
System.out.println("String test = " + test);
} Gil -
Error While Generating the Proxy Objects
Hi All,
While Generating the Proxy Obects in SPROXY at SAP R/3 side,
Iam getting this Error
http://img169.imageshack.us/img169/5752/proxylm0.jpg
Can any one Occured this type of Error
Regards
SumanHi PT,
Now the Strange Issue came,
While generating the proxy objects i got that above mentioned error
After that i have run the 3 report programs according to the Ramesh Suggession
Now if i goto SPROXY means it is saying that No Conection to Integration Builder .
I have checked the RFC Destination created in SM59 of SAP R/3 of Type H.It is fine
What more i have to check
First of all when ever i open the Sropxy, every time User & pwd is requesting
Can you please through a light where to check
Regards
Suman -
How can I Export dynamic table to bapi, which is imported from BAPI.
At first time execution of BAPI , I am getting Items(Table formate) . Again I have export these Items to BAPI. As a Input Table. How can transfer data export table to import table.
And also I need delete some items, which are come form bapi. Then I need to export .
Any body can help me to achieve this issue.
<b>EX. At first execution of BAPI, I am getting items in one out structure. After that I need to execute same BAPI using these items.</b>You'll have to *alias* your columns, not prefix it with the table names:
$[CHE_TEST@asterix1_impl] r
1 declare
2 cursor cData is
3 with data as (
4 select 1 id, 'test1' val1, 'a' val2 from dual
5 union all
6 select 1 id, '1test' val1, 'b' val2 from dual
7 union all
8 select 2 id, 'test2' val1, 'a' val2 from dual
9 union all
10 select 2 id, '2test' val1, 'b' val2 from dual
11 )
12 select a.id, b.id, a.val1, b.val1, a.val2, b.val2
13 from data a, data b
14 where a.id = b.id
15 and a.val2 = 'a'
16 and b.val2 = 'b';
17 begin
18 for rData in cData loop
19 null;
20 end loop;
21* end;
for rData in cData loop
ERROR at line 18:
ORA-06550: line 18, column 3:
PLS-00402: alias required in SELECT list of cursor to avoid duplicate column names
ORA-06550: line 18, column 3:
PL/SQL: Statement ignored
$[CHE_TEST@asterix1_impl] r
1 declare
2 cursor cData is
3 with data as (
4 select 1 id, 'test1' val1, 'a' val2 from dual
5 union all
6 select 1 id, '1test' val1, 'b' val2 from dual
7 union all
8 select 2 id, 'test2' val1, 'a' val2 from dual
9 union all
10 select 2 id, '2test' val1, 'b' val2 from dual
11 )
12 select a.id a_id, b.id b_id, a.val1 a_val1, b.val1 b_val1, a.val2 a_val2, b.val2 b_val2
13 from data a, data b
14 where a.id = b.id
15 and a.val2 = 'a'
16 and b.val2 = 'b';
17 begin
18 for rData in cData loop
19 null;
20 end loop;
21* end;
PL/SQL procedure successfully completed.
cheers -
Can a function return more than one item or object?
Hi I am trying to move text movies and textfields around a stage. This is a learning curve for me. I am confused by an example I have found on the internet.
http://forums.adobe.com/community/flash/flash_actionscript
What type of object is
var letter:Object = getLetterObject(_text.charAt(i)); // in the draw function
as it has properties
letter.stepDegrees = _totalAngle / numOfLetters;
getLetterObject()
seems to return lotts of stuff which would not be done in other languages like C
return
movie:movie,
field:field,
widthInDegrees:0,
fieldWidth:field.width,
fieldHeight:field.height
I would like to get my head around this as this is a good example of what I need. Well parts of it actualy.
I understand that the text field is added as a child to the Movieclip. I would have expected just a MovieClip object returned.
full code including the function getLetterObject()
=======
package
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.geom.Rectangle;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
public class CurvedText extends MovieClip
public static const DIRECTION_UP:String = "up";
public static const DIRECTION_DOWN:String = "down";
public var showLetterBorder:Boolean = false;
public var showCurve:Boolean = false;
private var _letterHolder:MovieClip;
private var _text:String;
private var _radius:Number;
private var _letters:Array;
private var _widthOfText:Number = 0;
private var _startAngle:Number = 0;
private var _endAngle:Number = 360;
private var _totalAngle:Number = 0;
private var _textFormat:TextFormat;
private var _direction:String;
public function CurvedText(text:String = "", radius:Number = 200, startAngle:Number = 0, endAngle:Number = 360, direction:String = "up", textFormat:TextFormat = null)
_text = text;
_radius = radius;
_startAngle = startAngle;
_endAngle = endAngle;
_direction = direction;
_textFormat = textFormat;
_letters = [];
_totalAngle = Math.abs(_startAngle) + Math.abs(_endAngle);
public function draw():void
// checking if there is any text set
if(_text == "")
return;
// clearing the letters' holder
if(_letterHolder && contains(_letterHolder))
removeChild(_letterHolder);
_letterHolder = new MovieClip();
addChild(_letterHolder);
// adding letters
var numOfLetters:int = _text.length;
for(var i:int=0; i<numOfLetters; i++)
var letter:Object = getLetterObject(_text.charAt(i));
letter.stepDegrees = _totalAngle / numOfLetters;
_letters.push(letter);
_widthOfText += letter.fieldWidth;
_letterHolder.addChild(letter.movie);
// positioning
position();
// draw the curve
if(showCurve) {
_letterHolder.graphics.lineStyle(1, 0xFF0000, 1);
_letterHolder.graphics.drawCircle(0, 0, _radius);
private function getLetterObject(letter:String):Object
// setting default text format
if(!_textFormat)
_textFormat = new TextFormat();
_textFormat.align = TextFormatAlign.CENTER;
_textFormat.font = "Verdana";
_textFormat.size = 12;
_textFormat.color = 0x000000;
// creating the field
var movie:MovieClip = new MovieClip();
var field:TextField = new TextField();
field.width = 10;
field.defaultTextFormat = _textFormat;
field.embedFonts = true;
field.multiline = false;
field.autoSize = TextFieldAutoSize.CENTER;
field.text = letter;
field.x = -field.width / 2;
field.y = -field.height / 2;
if(showLetterBorder)
field.border = true;
movie.addChild(field);
return // RETURNS more than one value?
movie:movie,
field:field,
widthInDegrees:0,
fieldWidth:field.width,
fieldHeight:field.height
private function position():void
// position the letters
var numOfLetters:int = _letters.length;
var degrees:Number = _startAngle;
for(var i:int=0; i<numOfLetters; i++)
var angle:Number = _letters[i].stepDegrees + degrees;
if(_direction == DIRECTION_DOWN)
angle -= 180;
_letters[i].movie.scaleY = -1;
} else {
xValue = _radius * Math.cos((angle-90)/180*Math.PI);
yValue = _radius * Math.sin((angle-90)/180*Math.PI);
var xValue:int = _radius * Math.cos((angle-90)/180*Math.PI);
var yValue:int = _radius * Math.sin((angle-90)/180*Math.PI);
_letters[i].movie.x = xValue;
_letters[i].movie.y = yValue;
_letters[i].movie.rotation = angle;
degrees += _letters[i].stepDegrees;
// position the holder
var bounds:Rectangle = _letterHolder.getBounds(this);
_letterHolder.x = -bounds.x;
_letterHolder.y = -bounds.y;
if(_direction == DIRECTION_DOWN)
_letterHolder.scaleX = -1;Hi
I still think I need an Object parent child linkage diagram on this to get my head around it.
It seems that things are reversed so that it is Object:value. Kind of confusing to see movie:movie.
var letter:Object = getLetterObject(_text.charAt(i));
letter holds the following objects
MovieClip:Movie
TextField:field
widthInDegrees:0 // What is this. What type is a widthInDegrees
fieldWidth:field.width // Same as above
fieldHeight:field.height // Same as above
And to cap it all, back in the calling function draw()
letter.stepDegrees = _totalAngle / numOfLetters; // What is stepDegrees a property of? MovieClip,TextField,widthInDegrees,fieldWidth or fieldHeight
I can understand the first two but not the last three
For example widthInDegrees is not mentioned anywhere in the code. and
letter.stepDegrees // implies that stepDegrees is a property of Object:letter.
Do you throw a property and value blindly at the letter object and let flash work out which object it is a property of?
MovieClip & TextField do not have this property. Searched the web for this information. We need an equivelent of MSDN.
Desmond. -
BAPI for "Change Base Planning Object"
Hi
Is there any BAPI for "Change Base Planning Object" ( TC KKE2).
I need to change the Price of a Resource in the Cost Items for a Base Planning Object.
So if any one know the BAPI for this topic please let me know, and if possible send me your code also it will be really help full.
RegardsI didn't find a BAPI to do this. I had to do it by a Batch Input.
-
Is it possible to import SAP IDOCS (e.g. ORDERS05) in B1? Is extra software needed?
Hi Johan,
Electronic File Format: the Tools is provided, and used to do most of the file transformations and imports.
It is used for all bank statements (import and export), is used to generate specific reports (Intrastat) and by SAP for specific legal requirements (i.e.the one asked by the French Legals to provide an electronic export on a specific format during controls).
Not the easiest thing to master, but a standard tool for file transformation from Inside the client (B1if will run on the server only, as you know).
sthat you are not restricted regarding the source format (you can even use a .rpt file as a source ).
If you search Inside the SCN, you'll find posts explaining how to use it.
Regards,
Eric -
Syntax error for automatic generated class for object MAS_AUTH_CUST
Hi,
I am configuring the mobile sales scenario. I encountered a weird problem. Basically the automatically generated class ZDOECL_013_00H_MWSR can not be activated. If you activate it manually it will give you the below error. Looks like the entity structure is too big. So the generated code has a very big loop which causes the dump. I found the issue when try to run the function module CRM_AUTH_CUST_INSERTCDS as suggested in the configuration guide.
I have tried to regenerate the object. But it still give me the same error.
Internal error occured during runtime generation of Class ZDOECL_013_00H_MWSR (Dump ID: GEN_BRANCHOFFSET_LIMIT_REACHED)
Message no. OO053
Diagnosis
An internal error occurred when the system tried to generate the runtime objects of the class. A dump has been created with the given dump ID. It can be analyzed using transaction ST22.
Our Netweaver version as below. It should contain already the latest patch etc.
SAP_ABA 711 0006 SAPKA71106
SAP_BASIS 711 0006 SAPKB71106
PI_BASIS 711 0006 SAPK-71106INPIBASIS
ST-PI 2008_1_710 0004 SAPKITLRE4
SAP_BW 711 0006 SAPKW71106
CRMSPGWY 110 0004 SAPK-11004INCRMSPGWY
CRM version.
SAP_ABA 702 0006 SAPKA70206
SAP_BASIS 702 0006 SAPKB70206
PI_BASIS 702 0006 SAPK-70206INPIBASIS
ST-PI 2008_1_700 0002 SAPKITLRD2
SAP_BS_FND 702 0004 SAPK-70204INSAPBSFND
SAP_BW 702 0006 SAPKW70206
LCAPPS 2005_700 0009 SAPKIBHD09
SAP_AP 700 0022 SAPKNA7022
WEBCUIF 701 0003 SAPK-70103INWEBCUIF
BBPCRM 701 0003 SAPKU70103
WFMCORE 200 0016 SAPK-20016INWFMCORE
VIRSANH 530_700 0011 SAPK-53311INVIRSANH
Any advice is appreciated.
Thanks
Hansen ChenHi,
Gateway1.1 to SAP Netweaver mobile is not supported with EHP1 of SAP Netweaver Mobile 7.10.
Please check the release information note: 1539681
So, i suggest you to install SAP Netweaver Mobile 7.10 with Gateway addon.
Regards,
Siva.
Maybe you are looking for
-
Upload Purchase order text tab using BDC
Is it possible to upload Purchase order text tab in material master (tcode mm01) using a BDC. If so pls tell me how to upload the same, what is the field name of the box. Regards, Senthil
-
Can't view thumbnails in cs4 photoshop or bridge
Hi, I can't view cs2 or DNG files thumbnails in CS4 photoshop or bridge. I'm using vista 64 home premium and recently had to reinstall cs4 on a new disc. It worked fine before on my old disc but now it doesn't. I've searched through the various topic
-
Unable to start EPMA PROCESS MANAGER
I'm having an issue starting the EPMA Process Manager service ERROR : Service cannot be started. Hyperion.DimensionServer.ProcessManager.Interface.ProcessManagerException: Cannot initialize the Session Manager. ---> System.ArgumentException: An item
-
SOAP to SOAP scenario without using ccBPM(PI 7.3)
Hi experts, We have a requirement. SOAP1-> SAP PI->SOAP2 (Synchronous), and after getting the response from SOAP2 we need to do a lookup in SOAP3(Using values from both SOAP1 request and SOAP2 response). We don't have ABAP stack in PI 7.3 Any idea, h
-
I need to read data from MQ? any example of OFSML ?
I need to read data from MQ so what I should know about this MQ properties ?? such ip,name,.... I'm new in MQ programming and it can be over internet or local network only ? I will used the OFSML any one know any thing about OFSML or any example ?? O