Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / Web Services / April 2005

Tip: Looking for answers? Try searching our database.

ATL - Axis SOAP incompatibility?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Moshe Kravchik - 17 Apr 2005 16:04 GMT
Hi all!

I've encountered with what seems to be a compatibility problem between ATL
SOAP Web Service and Axis client.
The minimal scenario is like that. I create a service having the following
function:

struct SITest{

int val;

};

[id(1)] HRESULT PassStructInt([in]SITest data);

When I create the proxy classes using WSDL2Java and try to call this
function, I get back the SOAP fault response and I can see in debugger
console the following lines:

ATL Server only allows href's on arrays and structs.

ATLSOAP: fatal parse error: Unspecified error

I've got the SOAPToolkit trace and I can see that in the request the val
inside the struct is passed using href.

So I've two questions:

1. Is that a known issue and how do I overcome it? I need to pass structures
back and force, it is basic mechanism.

2. What other incompatibilities are waiting for me between ATL and Java?

Thank you,

Moshe.
WTH - 18 Apr 2005 04:50 GMT
Just out of curiousity, isn't the default HTTP method of Java a POST?
Doesn't SOAP expect a GET?

Had this problem a week ago helping some Italian Java integrators using a
'open api' SOAP service I'd written.  They found a 'GET' http class for Java
by googling for it (really simple actually.)

Don't know if that will help you.  We found the problem by looking at the
IIS logs.

   WTH
Moshe Kravchik - 18 Apr 2005 08:43 GMT
No, it has nothing to do with GET/POST. It indeed uses POST, but the c#
client that uses POST as well work correctly.
The problem is that Axis passes values inside structs by href.

Moshe.
> Just out of curiousity, isn't the default HTTP method of Java a POST?
> Doesn't SOAP expect a GET?
[quoted text clipped - 7 lines]
>
>     WTH
Simon Trew - 18 Apr 2005 12:35 GMT
Moshe,

I don't know exactly what you mean here, but I know ATL SOAP has problems
with other things-- XML attributes, for example (as hrefs typically are). I
worked around this by making the attribute into a separate, subsidiary
element in the WSDL provided to SPROXY, and then hacking the incoming HTTP
responses and outgoing HTTP requests to correspond to this.

This was for an ATL SOAP client with an Axis server; the other way round, of
course, would have incoming requests and outgoing responses. That is, I only
hacked SendRequest ad GetResponse in my SOAP Client Archetype, but
presumably similar hacks would need to be applied to the corresponding
functions in the server.

Of course this is far from ideal as you have to hack the WSDL every time it
changes (i.e. I hope you have a stable WSDL).

As you say, this has nothing to do with GET/POST.
S.

> No, it has nothing to do with GET/POST. It indeed uses POST, but the c#
> client that uses POST as well work correctly.
> The problem is that Axis passes values inside structs by href.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.