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

Reply via email to