Need suggestions on Axis/c client stub

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Need suggestions on Axis/c client stub

Ashok P
I want to clear my understandings about axis-c/c++. I got few answers in email archives and like to understand thoroughly.  Newbie to Axis-c.. :)  I apologize for any repeated  questions.

1) Can I provide custom mappings for C/C++ data types for code generation tool?
Wsdl2c/wsd2ws generates the code for xs:string as “char* (axis-char)” and “std::string” respectively. Is there any way to mention mapping like “wchar*”  or std::wstring (c++) to toolkit considering Unicode enabled project?   Does char* processing problematic in case of Unicode string?  

2) My requirement is to generate the clients for non-axis web services  like .net, JBOSS-WS, etc. So Is there any limitations for such clients? I believe all web services can easily consumed with axis/c client considering they adhere with WSDL specifications.

3) As per the  documentation, axis-c supports “ADB” binding for client code generations and “none” option for raw xml in/out. Is ADB is efficient to consume non-axis web services?  

4) As per analysis, wsdl2c can generate client code for RPC/document literal styles only. Am I correct? Is there any support available for RPC-encoded style in near feature?

5) Does it mandatory to use axis2.xml? I like all these settings through code by settings the options – like settings the protocol “http” or https (ssl), port , ssl certificate, client timeout and more. Does such provision is available in both C/C++ client generated code?

6)  From the other posting on forum, it’s not clear that “AXIS2C_HOME” deplorer folder is mandatory or not for client side. Can anybody confirm this? I agree few Dlls are required for client distribution. I like my client application (along with client stub) should have small footprint for distribution, so can I build stub statically for depended libraries like axiom.dll, axis2_http_sender.dll etc?

7) Axis-C++ is not recommended for production use. Does I need to test client generated (stub) for stability considering the recommendation? Any suggestions on axis-c++ clients to be used on production? Otherwise I need go with axis-c only.


Thanks in advance and appreciate your help.
 
Reply | Threaded
Open this post in threaded view
|

Re: Need suggestions on Axis/c client stub

paul.deadman

I cant provide an answer to all your questions, but for this question:-

2) My requirement is to generate the clients for non-axis web services  like
.net, JBOSS-WS, etc. So Is there any limitations for such clients? I believe
all web services can easily consumed with axis/c client considering they
adhere with WSDL specifications.

> I found that WSDL2C (from AXIS2) does not work out the box with WCF because the WCF WSDL split the schema into at
least 3 XSD files. This is not the problem in itself, as it is possible to download the individual elements and
create a single WSDL file and point WSDL2C at this. But the problem comes in that the Data Contract elements
 have a namespace which can not be  changed (or I have not found out how) in WCF Visual Studio designer, it is constructed from
a number of elements within the class defintion.
The namespace for the Data Contract elements is different from the other elements Operations etc which can be changed
the default is http://tempuri.org . So you need to create a WSDL file with schema elements in multiple
namespaces, this I found hard to do, or at least I could find no examples of XSD schema covering multiple namespaces.
I worked round this problem by pasting all the XSD schema elements (using the Operations namespace)
together and then editing the stub code
which is generated, its not difficult as for each Data Contract class in WCF you get a .c file from WSDL2C. And
changing the namespace name (which is hardcoded as a string).

My only other comment is that you will need to recompile the 1.6 source code for AXIS2C for Windows as the
downloadable binaryies have a bug, whereby the directory seperator is set for a Unix value of / and not a
windows \. This was a quite painless exercise compared to the WSDL manipulation.

Im using it for a production application to connect Lotus Notes, via a DLL to a WCF service. And it appears to work
fine.

Paul Deadman
Mobile: 07769 930 235
Skype: Paul Deadman, York
Longfield Ltd
2 Maple House, Northminster Business Park,York,YO26 6QW

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom it is addressed. If you are not the intended recipient or there are problems please notify the sender and then delete it from your system. We have taken steps to keep this email and attachments free from viruses. However, we accept no liability for any loss or damage howsoever caused as a result of any virus being passed on. It is the responsibility of the recipient to perform all necessary checks.



Ashok P <[hidden email]>

09/02/2010 17:09

Please respond to
"Apache AXIS C User List" <[hidden email]>

To
[hidden email]
cc
Subject
Need suggestions on Axis/c client stub






I want to clear my understandings about axis-c/c++. I got few answers in
email archives and like to understand thoroughly.  Newbie to Axis-c.. :)  I
apologize for any repeated  questions.

1) Can I provide custom mappings for C/C++ data types for code generation
tool?
Wsdl2c/wsd2ws generates the code for xs:string as “char* (axis-char)” and
“std::string” respectively. Is there any way to mention mapping like
“wchar*”  or std::wstring (c++) to toolkit considering Unicode enabled
project?   Does char* processing problematic in case of Unicode string?  

2) My requirement is to generate the clients for non-axis web services  like
.net, JBOSS-WS, etc. So Is there any limitations for such clients? I believe
all web services can easily consumed with axis/c client considering they
adhere with WSDL specifications.

3) As per the  documentation, axis-c supports “ADB” binding for client code
generations and “none” option for raw xml in/out. Is ADB is efficient to
consume non-axis web services?  

4) As per analysis, wsdl2c can generate client code for RPC/document literal
styles only. Am I correct? Is there any support available for RPC-encoded
style in near feature?

5) Does it mandatory to use axis2.xml? I like all these settings through
code by settings the options – like settings the protocol “http” or https
(ssl), port , ssl certificate, client timeout and more. Does such provision
is available in both C/C++ client generated code?

6)  From the other posting on forum, it’s not clear that “AXIS2C_HOME”
deplorer folder is mandatory or not for client side. Can anybody confirm
this? I agree few Dlls are required for client distribution. I like my
client application (along with client stub) should have small footprint for
distribution, so can I build stub statically for depended libraries like
axiom.dll, axis2_http_sender.dll etc?

7) Axis-C++ is not recommended for production use. Does I need to test
client generated (stub) for stability considering the recommendation? Any
suggestions on axis-c++ clients to be used on production? Otherwise I need
go with axis-c only.


Thanks in advance and appreciate your help.


--
View this message in context:
http://old.nabble.com/Need-suggestions-on-Axis-c-client-stub-tp27518586p27518586.html
Sent from the Axis - C++ - User mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Need suggestions on Axis/c client stub

Nadir Amra
In reply to this post by Ashok P
As far as the Axis-C++ client, it is recommended for production use....as
long as you build the client from the latest code in SVN.

But ensure that it supports what you need supported, which is WSDL 1.1 and
SOAP 1.1.

Nadir Amra


Ashok P <[hidden email]> wrote on 02/09/2010 11:09:09 AM:

> [image removed]
>
> Need suggestions on Axis/c client stub
>
> Ashok P
>
> to:
>
> axis-c-user
>
> 02/09/2010 11:09 AM
>
> Please respond to "Apache AXIS C User List"
>
>
> I want to clear my understandings about axis-c/c++. I got few answers in
> email archives and like to understand thoroughly.  Newbie to Axis-c.. :)
 I
> apologize for any repeated  questions.
>
> 1) Can I provide custom mappings for C/C++ data types for code
generation
> tool?
> Wsdl2c/wsd2ws generates the code for xs:string as ?char* (axis-char)?
and
> ?std::string? respectively. Is there any way to mention mapping like
> ?wchar*?  or std::wstring (c++) to toolkit considering Unicode enabled
> project?   Does char* processing problematic in case of Unicode string?
>
> 2) My requirement is to generate the clients for non-axis web services
like
> .net, JBOSS-WS, etc. So Is there any limitations for such clients? I
believe
> all web services can easily consumed with axis/c client considering they
> adhere with WSDL specifications.
>
> 3) As per the  documentation, axis-c supports ?ADB? binding for client
code
> generations and ?none? option for raw xml in/out. Is ADB is efficient to
> consume non-axis web services?
>
> 4) As per analysis, wsdl2c can generate client code for RPC/document
literal
> styles only. Am I correct? Is there any support available for
RPC-encoded
> style in near feature?
>
> 5) Does it mandatory to use axis2.xml? I like all these settings through
> code by settings the options ? like settings the protocol ?http? or
https
> (ssl), port , ssl certificate, client timeout and more. Does such
provision
> is available in both C/C++ client generated code?
>
> 6)  From the other posting on forum, it?s not clear that ?AXIS2C_HOME?
> deplorer folder is mandatory or not for client side. Can anybody confirm
> this? I agree few Dlls are required for client distribution. I like my
> client application (along with client stub) should have small footprint
for
> distribution, so can I build stub statically for depended libraries like
> axiom.dll, axis2_http_sender.dll etc?
>
> 7) Axis-C++ is not recommended for production use. Does I need to test
> client generated (stub) for stability considering the recommendation?
Any
> suggestions on axis-c++ clients to be used on production? Otherwise I
need

> go with axis-c only.
>
>
> Thanks in advance and appreciate your help.
>
>
> --
> View this message in context: http://old.nabble.com/Need-
> suggestions-on-Axis-c-client-stub-tp27518586p27518586.html
> Sent from the Axis - C++ - User mailing list archive at Nabble.com.
>

Reply | Threaded
Open this post in threaded view
|

Re: Need suggestions on Axis/c client stub

Ashok P
Thanks Nadir and Paul for your quick response and valuable inputs.Now I have got confidence to go ahead... I got my sample clients working with axis/c and c++ on windows.

I believe that I will get answers for my other questions also.



Nadir Amra wrote
As far as the Axis-C++ client, it is recommended for production use....as
long as you build the client from the latest code in SVN.

But ensure that it supports what you need supported, which is WSDL 1.1 and
SOAP 1.1.

Nadir Amra


Ashok P <ashvitech@gmail.com> wrote on 02/09/2010 11:09:09 AM:

> [image removed]
>
> Need suggestions on Axis/c client stub
>
> Ashok P
>
> to:
>
> axis-c-user
>
> 02/09/2010 11:09 AM
>
> Please respond to "Apache AXIS C User List"
>
>
> I want to clear my understandings about axis-c/c++. I got few answers in
> email archives and like to understand thoroughly.  Newbie to Axis-c.. :)
 I
> apologize for any repeated  questions.
>
> 1) Can I provide custom mappings for C/C++ data types for code
generation
> tool?
> Wsdl2c/wsd2ws generates the code for xs:string as ?char* (axis-char)?
and
> ?std::string? respectively. Is there any way to mention mapping like
> ?wchar*?  or std::wstring (c++) to toolkit considering Unicode enabled
> project?   Does char* processing problematic in case of Unicode string?
>
> 2) My requirement is to generate the clients for non-axis web services
like
> .net, JBOSS-WS, etc. So Is there any limitations for such clients? I
believe
> all web services can easily consumed with axis/c client considering they
> adhere with WSDL specifications.
>
> 3) As per the  documentation, axis-c supports ?ADB? binding for client
code
> generations and ?none? option for raw xml in/out. Is ADB is efficient to
> consume non-axis web services?
>
> 4) As per analysis, wsdl2c can generate client code for RPC/document
literal
> styles only. Am I correct? Is there any support available for
RPC-encoded
> style in near feature?
>
> 5) Does it mandatory to use axis2.xml? I like all these settings through
> code by settings the options ? like settings the protocol ?http? or
https
> (ssl), port , ssl certificate, client timeout and more. Does such
provision
> is available in both C/C++ client generated code?
>
> 6)  From the other posting on forum, it?s not clear that ?AXIS2C_HOME?
> deplorer folder is mandatory or not for client side. Can anybody confirm
> this? I agree few Dlls are required for client distribution. I like my
> client application (along with client stub) should have small footprint
for
> distribution, so can I build stub statically for depended libraries like
> axiom.dll, axis2_http_sender.dll etc?
>
> 7) Axis-C++ is not recommended for production use. Does I need to test
> client generated (stub) for stability considering the recommendation?
Any
> suggestions on axis-c++ clients to be used on production? Otherwise I
need
> go with axis-c only.
>
>
> Thanks in advance and appreciate your help.
>
>
> --
> View this message in context: http://old.nabble.com/Need-
> suggestions-on-Axis-c-client-stub-tp27518586p27518586.html
> Sent from the Axis - C++ - User mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

RE : Need suggestions on Axis/c client stub

Olivier Mengué-2
In reply to this post by Ashok P
Hi

I'm a recent Axis2/C user. I don't know about Axis-C/C++.

Ashok P wrote:

>3) As per the  documentation, axis-c supports "ADB" binding for client code
>generations and "none" option for raw xml in/out. Is ADB is efficient to
>consume non-axis web services?  

I don't know what is "ADB binding".
With Axis2/C I had to do manual XML tree building. The Axis2 codegen tool was not able to
generate the XML tree building for my WSDL.

>5) Does it mandatory to use axis2.xml? I like all these settings through
>code by settings the options - like settings the protocol "http" or https
>(ssl), port , ssl certificate, client timeout and more. Does such provision
>is available in both C/C++ client generated code?

I'm interested by an answer to this question too.

>6)  From the other posting on forum, it's not clear that "AXIS2C_HOME"
>deplorer folder is mandatory or not for client side. Can anybody confirm
>this?

It seems to be mandatory to use AXIS2C_HOME as it is the way to find the axis2.xml.

axis2.xml is AFAIK mantadory for client side.

> I agree few Dlls are required for client distribution. I like my
>client application (along with client stub) should have small footprint for
>distribution, so can I build stub statically for depended libraries like
>axiom.dll, axis2_http_sender.dll etc?

It looks like the transport layers (http_sender, http_receiver...) are loaded dynamically by Axis2/C.
And there is no option in the build system to make a build with statically linked transports.

>7) Axis-C++ is not recommended for production use. Does I need to test
>client generated (stub) for stability considering the recommendation? Any
>suggestions on axis-c++ clients to be used on production? Otherwise I need
>go with axis-c only.

The recommandation is to use Axis2/C (which is not axis-c).
I understood it as "Axis-C++ is buggy and is broken by design, we choose to rewrite everything as Axis2/C". Is it really the case? I don't know. That is just the feeling I got by reading the site.

Olivier Mengué

winmail.dat (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

RE : Need suggestions on Axis/c client stub

Nadir Amra

Axis-C++ client-side is not broken or buggy.  It is perfectly functional and in some cases much easier to use than axis2/C.
 

Nadir Amra


Olivier Mengué <[hidden email]> wrote on 02/10/2010 04:41:51 AM:

> [image removed]

>
> RE : Need suggestions on Axis/c client stub

>
> Olivier Mengué

>
> to:

>
> Apache AXIS C User List

>
> 02/10/2010 04:42 AM

>
> Please respond to "Apache AXIS C User List"

>
> Hi
>
> I'm a recent Axis2/C user. I don't know about Axis-C/C++.
>
> Ashok P wrote:
>
.

.
.
>
> >7) Axis-C++ is not recommended for production use. Does I need to test
> >client generated (stub) for stability considering the recommendation? Any
> >suggestions on axis-c++ clients to be used on production? Otherwise I need
> >go with axis-c only.
>
> The recommandation is to use Axis2/C (which is not axis-c).
> I understood it as "Axis-C++ is buggy and is broken by design, we
> choose to rewrite everything as Axis2/C". Is it really the case? I
> don't know. That is just the feeling I got by reading the site.
>
> Olivier Mengué
Reply | Threaded
Open this post in threaded view
|

Re: RE : Need suggestions on Axis/c client stub

Ashok P
Thanks to all for suggestions and inputs.

Any suggestions on point-1 - data type mapping? for example if you check typemap.dat in case of gsoap which gives us a easy way to map data types.  I am planning to take a look on code generation source code. Will it work if I change  for data types?

I will update on point 5 and 6 as I started investigations on it.

/// Ashok


Nadir Amra wrote
Axis-C++ client-side is not broken or buggy.  It is perfectly functional
and in some cases much easier to use than axis2/C.
 

Nadir Amra


Olivier Mengué <omengue@oxymel.com> wrote on 02/10/2010 04:41:51 AM:

> [image removed]
>
> RE : Need suggestions on Axis/c client stub
>
> Olivier Mengué
>
> to:
>
> Apache AXIS C User List
>
> 02/10/2010 04:42 AM
>
> Please respond to "Apache AXIS C User List"
>
> Hi
>
> I'm a recent Axis2/C user. I don't know about Axis-C/C++.
>
> Ashok P wrote:
>
.
.
.
>
> >7) Axis-C++ is not recommended for production use. Does I need to test
> >client generated (stub) for stability considering the recommendation?
Any
> >suggestions on axis-c++ clients to be used on production? Otherwise I
need
> >go with axis-c only.
>
> The recommandation is to use Axis2/C (which is not axis-c).
> I understood it as "Axis-C++ is buggy and is broken by design, we
> choose to rewrite everything as Axis2/C". Is it really the case? I
> don't know. That is just the feeling I got by reading the site.
>
> Olivier Mengué
Reply | Threaded
Open this post in threaded view
|

RE : Need suggestions on Axis/c client stub

Olivier Mengué-2
In reply to this post by Nadir Amra
RE : Need suggestions on Axis/c client stub


De: Nadir Amra
>Axis-C++ client-side is not broken or buggy.  It is perfectly functional
>and in some cases much easier to use than axis2/C.

So why Axis2/C was created? I'm insterested in the history of the project.
Is it because "C support is not complete." in Axis C++ ?
(according to http://ws.apache.org/axis/cpp/index.html#Known_issues )

Olivier.

Reply | Threaded
Open this post in threaded view
|

RE : Need suggestions on Axis/c client stub

Nadir Amra

Actually, C support is as complete as the C++ support.  But only on client side, and only for doc/literal.


From an old post when I asked the question long ago:
============
AxisC++ is a very good, solid, 2nd generation Web Services stack written in C++. It supports being a client to UDDI, and certainly it would be possible to support WS-Sec under it. However standards like RM and WS-Addressing are hard to support.

If you look at the iterations of development, the first iteration (e.g. ApacheSOAP) was just about getting the job done simply. The next iteration added better parsing and more flexible handler models, which successfully supports WSSecurity and simple extensions to SOAP.


However, the big change has been WS-Addressing, which has made WS much more asynchronous and message based. Unfortunately a lot of WS stacks including Axis/Java 1.x and Axis/C++ 1.x were built with a very RPC-like model.

Axis2 C is the start of the move of Axis in C/C++ to the Axis2 model. When we wrote Axis2/Java we started again. In building Axis2/C we also started again.
===========


So basically Axis2/C and Axis2/Java were created to support more of the standards and improve on what was learned in prior implementations.

Nadir Amra


Olivier Mengué <[hidden email]> wrote on 02/11/2010 03:57:55 AM:

> [image removed]

>
> RE : Need suggestions on Axis/c client stub

>
> Olivier Mengué

>
> to:

>
> Apache AXIS C User List, Apache AXIS C User List

>
> 02/11/2010 04:02 AM

>
> Cc:

>
> "Apache AXIS C User List"

>
> Please respond to "Apache AXIS C User List"

>
>
>

> De: Nadir Amra
> >Axis-C++ client-side is not broken or buggy.  It is perfectly functional
> >and in some cases much easier to use than axis2/C.
>
> So why Axis2/C was created? I'm insterested in the history of the project.
> Is it because "C support is not complete." in Axis C++ ?
> (according to
http://ws.apache.org/axis/cpp/index.html#Known_issues )
>
> Olivier.
Reply | Threaded
Open this post in threaded view
|

folder "services"

Daniel Eduardo Salas Useche
In reply to this post by Ashok P
Hi developers:
I am a beginner, I am sorry if this is a very simple question.
I have deployed web services in a windows and in a red hat and they run ok. Now, I have compiled axis2c in a debian machine. I noticed that the folder SERVICES did not appear. Then, I created the folder and put there my services. But, nothing is being deployed. In the log I found the message:

[Thu May  6 00:19:51 2010] [info]  No files in the path ..//services.

But, I created the files in AXIS2C_HOME, and I defined AXIS2C_HOME before start the server. Any ideas?

Thank you very much,
Daniel

--------------------------------------------
DANIEL EDUARDO SALAS USECHE
Civil and environmental Engineering
University of Pittsburgh




---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: folder "services"

Damitha Kumarage-4
Daniel Eduardo Salas Useche wrote:
> Hi developers:
> I am a beginner, I am sorry if this is a very simple question.
> I have deployed web services in a windows and in a red hat and they run ok. Now, I have compiled axis2c in a debian machine. I noticed that the folder SERVICES did not appear. Then, I created the folder and put there my services. But, nothing is being deployed. In the log I found the message:
>
> [Thu May  6 00:19:51 2010] [info]  No files in the path ..//services.
>
> But, I created the files in AXIS2C_HOME, and I defined AXIS2C_HOME before start the server. Any ideas?
>  
When installing Axis2/C if you don't install service samples as well,
services folder won't appear in deployment folder. If you start server
at this stage it will complain about missing services folder before
starting. However if you install service samples or  create  services
folder manually and  put your service folders in it then it should work
with no problem.
Are you sure that when there is a service in services folder still it
complain as 'No files in the path ../services' ?. If so what is the
Axis2/C version you are using? However I did not find such problem in
previous versions as well.

Thanks,
Damitha

> Thank you very much,
> Daniel
>
> --------------------------------------------
> DANIEL EDUARDO SALAS USECHE
> Civil and environmental Engineering
> University of Pittsburgh
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>  


--
__________________________________________________________________

Damitha Kumarage
Technical Lead; WSO2 Inc.
"Oxygenating the Web Service Platform; " http://www.wso2.com/

blog: " http://damithakumarage.wordpress.com/
__________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]