You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Pico Florin <pi...@yahoo.co.uk> on 2005/09/28 15:40:14 UTC

RE: [Axis2] Axis C++ client for SAPBC

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 

Re: Axis C++ client for SAPBC

Posted by Fred Preston <PR...@uk.ibm.com>.
Hi Florin,
        AXISCPP_HOME is used to find the axiscpp.conf file that contains 
information on explicitly where to find the associated DLLs.  The problem 
is that these DLLs use other DLLs and the location of these DLLs needs to 
be on your path.  For example, AxisXMLParserXerces.dll relies on 
xerces-c_2_2_0.dll (I think it also works with other, newer versions, but 
lets not go into that now!).  If the xerces DLL is not on the path then 
AxisXMLParserXerces.dll will load then immediately unload and will to the 
user look like it has not loaded.  Infact it did load, but could not load 
the libraries that it is dependant on and so therefore immediately 
unloaded....   I hope this makes things a little clearer :-)

Regards,

Fred Preston.





John Hawkins/UK/IBM@IBMGB
03/10/2005 08:40
Please respond to "Apache AXIS C User List"
 
        To:     "Apache AXIS C User List" <ax...@ws.apache.org>
        cc: 
        Subject:        Re: Axis C++ client for  SAPBC

 


OK, What version of xerces are you running (it needs to be 2.2.0)? - and 
can you cut and paste your config file her pls. 

thanks, 
John. 





Pico Florin <pi...@yahoo.co.uk> 
03/10/2005 08:01 

Please respond to
"Apache AXIS C User List"


To
Apache AXIS C User List <ax...@ws.apache.org> 
cc

Subject
Re: Axis C++ client for  SAPBC








Hello! 
I've tried to execute my client AXIS C++ for SAP BC from VC6.0 and I've 
received the same execption: <Exception : DLOPEN FAILED in loading parser 
library> even I've set up the AXISCPP_HOME enviroment variable to the path 
of axiscpp.conf. Can somebody help me to pass this error? 
 Thank you! 
  Florin

Samisa Abeysinghe <sa...@gmail.com> wrote: 
axiscpp.conf file is required by the client to locate the transport and 
parser.
It should be located in AXISCPP_HOME (this envioronment variable must be 
set by you)

Samisa...

Pico Florin wrote:

> 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 buss ines 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
> {
> & lt; BR>> 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 
> 


Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with 
voicemail 
Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with 
voicemail 

Re: Axis C++ client for SAPBC

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Pico Florin wrote:

> Thank you John for your indication about axiscpp.config. The parser 
> was set up wrong(I've misspelled the name). So this problem is solve. 
> But I have another question for the AXIS C++ users:
>
>  how can I see the the sent SOAP message without using tpcmon?(the 
> requested message)
>
>  And a suggestion: why the Call class doesn't have a method to see its 
> content as SOAP message(the same suggestion for AXIS Java)?
>
One reason for Call class not giving out SOAP message is that the Call 
class lives at a higher level of the processing hierarchy.
We can obviously expose the transport object through Call class and give 
out the SOAP message. However the whole purpose of this engine is to 
hide the complexity and let the users deal with SOAP at a higher level. 
Hence it makes more sence to use an external tool like tcpmon to capture 
the message IMHO.

Thanks,
Samisa...

>  
>
>  Thank you,
>
>         Florin
>
>  
>
> ------------------------------------------------------------------------
> To help you stay safe and secure online, we've developed the all new 
> *Yahoo! Security Centre* 
> <http://us.rd.yahoo.com/mail/uk/taglines/default/security_centre/*http://uk.security.yahoo.com/>. 




Re: Axis C++ client for SAPBC

Posted by Pico Florin <pi...@yahoo.co.uk>.
Thank you very much guys! I've succeded to create the client for SAP BC. Your help was benefic for my application.

   Regards,

    Florin

		
---------------------------------
How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos. Get Yahoo! Photos

Re: Axis C++ client for SAPBC

Posted by John Hawkins <HA...@uk.ibm.com>.
You should listen on any other port (9081?) and then forward to 5555. You 
then need to change the url of your service to e.g. 
http://myservice:9081/<service>





Pico Florin <pi...@yahoo.co.uk> 
03/10/2005 12:53
Please respond to
"Apache AXIS C User List"


To
Apache AXIS C User List <ax...@ws.apache.org>
cc

Subject
Re: Axis C++ client for  SAPBC






Regarding the tpcmon: 
  I have the SAP BC server on port 5555. If I want to listen this port on 
tpcmon I receive this message: Address already in use JVM_Bind. So, what 
port should I listen in order to see the request message?
   Thank you,
     Florin 
 
Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with 
voicemail 

Re: Axis C++ client for SAPBC

Posted by Pico Florin <pi...@yahoo.co.uk>.
Regarding the tpcmon: 

  I have the SAP BC server on port 5555. If I want to listen this port on tpcmon I receive this message: Address already in use JVM_Bind. So, what port should I listen in order to see the request message?

   Thank you,

     Florin 

 

		
---------------------------------
Yahoo! Messenger  NEW - crystal clear PC to PC calling worldwide with voicemail 

Re: Axis C++ client for SAPBC

Posted by John Hawkins <HA...@uk.ibm.com>.
if you wanted to you could write a handler to look at the message and do 
what you want with it - but why is tcpmon an issue for you?





Pico Florin <pi...@yahoo.co.uk> 
03/10/2005 11:27
Please respond to
"Apache AXIS C User List"


To
Apache AXIS C User List <ax...@ws.apache.org>
cc

Subject
Re: Axis C++ client for  SAPBC






Thank you John for your indication about axiscpp.config. The parser was 
set up wrong(I've misspelled the name). So this problem is solve. But I 
have another question for the AXIS C++ users:
 how can I see the the sent SOAP message without using tpcmon?(the 
requested message)
 And a suggestion: why the Call class doesn't have a method to see its 
content as SOAP message(the same suggestion for AXIS Java)?
 
 Thank you,
        Florin
 
To help you stay safe and secure online, we've developed the all new 
Yahoo! Security Centre.

Re: Axis C++ client for SAPBC

Posted by Pico Florin <pi...@yahoo.co.uk>.
Thank you John for your indication about axiscpp.config. The parser was set up wrong(I've misspelled the name). So this problem is solve. But I have another question for the AXIS C++ users:

 how can I see the the sent SOAP message without using tpcmon?(the requested message)

 And a suggestion: why the Call class doesn't have a method to see its content as SOAP message(the same suggestion for AXIS Java)?

 

 Thank you,

        Florin

 

		
---------------------------------
To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre.

Re: Axis C++ client for SAPBC

Posted by John Hawkins <HA...@uk.ibm.com>.
OK, What version of xerces are you running (it needs to be 2.2.0)? - and 
can you cut and paste your config file her pls. 

thanks,
John.






Pico Florin <pi...@yahoo.co.uk> 
03/10/2005 08:01
Please respond to
"Apache AXIS C User List"


To
Apache AXIS C User List <ax...@ws.apache.org>
cc

Subject
Re: Axis C++ client for  SAPBC






Hello!
I've tried to execute my client AXIS C++ for SAP BC from VC6.0 and I've 
received the same execption: <Exception : DLOPEN FAILED in loading parser 
library> even I've set up the AXISCPP_HOME enviroment variable to the path 
of axiscpp.conf. Can somebody help me to pass this error?
 Thank you!
  Florin

Samisa Abeysinghe <sa...@gmail.com> wrote: 
axiscpp.conf file is required by the client to locate the transport and 
parser.
It should be located in AXISCPP_HOME (this envioronment variable must be 
set by you)

Samisa...

Pico Florin wrote:

> 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 buss ines 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
> {
> & lt; BR>> 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 
> 



Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with 
voicemail 
Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with 
voicemail 

Re: Axis C++ client for SAPBC

Posted by Pico Florin <pi...@yahoo.co.uk>.
Hello!
I've tried to execute my client AXIS C++ for SAP BC from VC6.0 and I've received the same execption: <Exception : DLOPEN FAILED in loading parser library> even I've set up the AXISCPP_HOME enviroment variable to the path of axiscpp.conf. Can somebody help me to pass this error?
 Thank you!
  Florin

Samisa Abeysinghe <sa...@gmail.com> wrote: 
axiscpp.conf file is required by the client to locate the transport and 
parser.
It should be located in AXISCPP_HOME (this envioronment variable must be 
set by you)

Samisa...

Pico Florin wrote:

> 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 buss ines 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
> {
> < BR>> 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 
> 






---------------------------------
Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with voicemail 

		
---------------------------------
Yahoo! Messenger  NEW - crystal clear PC to PC calling worldwide with voicemail 

Re: Axis C++ client for SAPBC

Posted by Pico Florin <pi...@yahoo.co.uk>.
Thank you, John! 

  Any ideas for the other problems that still remain?  

 

Regards,

 Florin

		
---------------------------------
How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos. Get Yahoo! Photos

Re: Axis C++ client for SAPBC

Posted by John Hawkins <HA...@uk.ibm.com>.
Hi Pico,

You must use xerces 2.2.0 - we do not put it on the site. 

You can get it from apache site -> 
http://archive.apache.org/dist/xml/xerces-c/


regards,
John.






Pico Florin <pi...@yahoo.co.uk> 
29/09/2005 08:28
Please respond to
"Apache AXIS C User List"


To
Apache AXIS C User List <ax...@ws.apache.org>
cc

Subject
Re: Axis C++ client for  SAPBC






Hi!
I have the fallowing question and problems:
  1. I've set the enviroment variable AXISCPP_HOME(pointed where the 
axiscpp.conf is located) like you said but I've received the same error. 
  2.I have also another question: In the installing kit for AXIS C++ is 
recommanded to use xerces-c_2_2_0.dll. I've tried to find this file on the 
site but I haven't founded. AXIS C++ will work with other version of 
xerces let's say xerces_c_2.5.dll?. If yes, do I need some special 
configuration in order to AXIS recognized?
  If you have a version of xerces-c_2_2.0.dll can you sand it to me, 
please?
Thank you,
     Florin
 
 
 


Samisa Abeysinghe <sa...@gmail.com> wrote: 
axiscpp.conf file is required by the client to locate the transport and 
parser.
It should be located in AXISCPP_HOME (this envioronment variable must be 
set by you)

Samisa...

Pico Florin wrote:

> 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 buss ines 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
> {
> < BR>> 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 
> 



Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with 
voicemail 

Re: Axis C++ client for SAPBC

Posted by Pico Florin <pi...@yahoo.co.uk>.
Hi!
I have the fallowing question and problems:
  1. I've set the enviroment variable AXISCPP_HOME(pointed where the axiscpp.conf is located) like you said but I've received the same error. 
  2.I have also another question: In the installing kit for AXIS C++ is recommanded to use xerces-c_2_2_0.dll. I've tried to find this file on the site but I haven't founded. AXIS C++ will work with other version of xerces let's say xerces_c_2.5.dll?. If yes, do I need some special configuration in order to AXIS recognized?
  If you have a version of xerces-c_2_2.0.dll can you sand it to me, please?
Thank you,
     Florin
 
 
 


Samisa Abeysinghe <sa...@gmail.com> wrote:axiscpp.conf file is required by the client to locate the transport and 
parser.
It should be located in AXISCPP_HOME (this envioronment variable must be 
set by you)

Samisa...

Pico Florin wrote:

> 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 
> 





		
---------------------------------
Yahoo! Messenger  NEW - crystal clear PC to PC calling worldwide with voicemail 

Re: Axis C++ client for SAPBC

Posted by Samisa Abeysinghe <sa...@gmail.com>.
axiscpp.conf file is required by the client to locate the transport and 
parser.
It should be located in AXISCPP_HOME (this envioronment variable must be 
set by you)

Samisa...

Pico Florin wrote:

> 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 
> <http://us.rd.yahoo.com/mail/uk/taglines/default/messenger/*http://uk.messenger.yahoo.com%20> 
> NEW - crystal clear PC to PC calling worldwide with voicemail 
> <http://us.rd.yahoo.com/mail/uk/taglines/default/messenger/*http://uk.messenger.yahoo.com%20>