axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pico Florin <picoflo...@yahoo.co.uk>
Subject RE: [Axis2] Axis C++ client for SAPBC
Date Wed, 28 Sep 2005 13:40:14 GMT
Hi!
  I've tried to create a client that sends SOAP messages to SAPBC using AXIS C++. Running
my code I've received this error:
"Exception : DLOPEN FAILED in loading parser library" 
 
I've understood that this problem could appear when the axiscpp.conf is not well configured.
Firstly, in my case where this file should be located? Because in your examples you have some
specifications just for Apache servers. Is this file needed for all the clients that we want
to implement? 
  Secondly, I will show you how I've tried to connect to SAP BC in order to see if the bussines
is OK:
 
 
InteropTestPortType::InteropTestPortType()
:Stub(" ", APTHTTP1_1)
{
 m_pCall->setEndpointURI("http://localhost:5555/soap");
}
InteropTestPortType::~InteropTestPortType()
{
}

/*Methods corresponding to the web service methods*/
/*
 * This method wrap the service method echoString
 */
xsd__string InteropTestPortType::echoString(xsd__string Value0)
{
 xsd__string Ret = NULL;
 const char* pcCmplxFaultName;
 try
 {
  if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER)) 
   return Ret;
  m_pCall->setTransportProperty(SOAPACTION_HEADER , "base#echoString");
  m_pCall->setSOAPVersion(SOAP_VER_1_1);
  m_pCall->setOperation("SOAPRPCTESTCLIENT", "SCANDLOG");
  applyUserPreferences();
  m_pCall->addParameter((void*)&Value0, "xml", XSD_STRING);
  if (AXIS_SUCCESS == m_pCall->invoke())
  {
   if(AXIS_SUCCESS == m_pCall->checkMessage("hello", "SCANDLOG"))
   {
    Ret = m_pCall->getElementAsString("_return", 0);
   }
  }
 
 m_pCall->unInitialize();
  return Ret;
 }
 catch(AxisException& e)
 {
  int iExceptionCode = e.getExceptionCode();
  if(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)
  {
 
 m_pCall->unInitialize();
   throw base_AxisClientException(e.what());
  }
  ISoapFault* pSoapFault = (ISoapFault*) m_pCall->checkFault("Fault","http://localhost/axis/base"
);
  if(pSoapFault)
  {
 
 m_pCall->unInitialize();
   throw base_AxisClientException(pSoapFault);
  }
  else throw;
 }
}

 
//base
 
int main(int argc, char* argv[])
{
  
    try
 {
  
  InteropTestPortType ws;
  
  printf("invoking echoString...\n");
  //testing echoString 
  AxisChar* pachEchoStringResult = ws.echoString("hello world");
   printf("pachEchoStringResult\n");
  
 }
 catch(AxisException& e)
 {
  printf("Exception : %s\n", e.what());
 }
 catch(exception& e)
 {
  printf("Unknown exception has occured\n");
 }
 catch(...)
 {
  printf("Unknown exception has occured\n");
 }
 return 0;
}

Thank you,
     F.

		
---------------------------------
Yahoo! Messenger  NEW - crystal clear PC to PC calling worldwide with voicemail 
Mime
View raw message