Re: Newbie questions and some weird behavior

2005-05-05 Thread Samisa Abeysinghe
You could test this with simple axis server and debug the same on Linux
with gdb.

I have written a small help file to let you know how to get simple axis
server up and running on Windows. I hope you could adopt this to Linux.
I have it http://people.apache.org/~samisa/SimpleAxisServer_HOWTO.txt
for the time being, till I check the rest of the docs and commit this to
CVS.

Will have a look at you wsdl and see if I could get it working. Please
try simple axis server in the mean time.

Thanks,
Samisa...

On Wed, 2005-05-04 at 16:56, Yampolsky, Robert wrote:
 I'm an axis newbie, and am having trouble getting my first service to
 work.  I am able to build and deploy a simple MD5Service I found on
 the web, so I think my axis and apache installations are working ok. 
 It's axiscpp 1.5 and apache 2.0.46 (RHEL 3.0).  I installed axiscpp
 from pre-built binaries in the default /usr/local/axiscpp_deploy
 directory.
 
 I've included the server.wsdd entry and wsdl file below in case I'm
 just doing this all wrong.  Thanks in advance for putting up with my
 (probably clueless) questions.  I've been trying to educate myself on
 this via Google, etc, and have found some good docs, but still can't
 get it to work.
 
 Anyway, at one point today (after restarting Apache, this went away),
 I would run my client repeatedly and get one of the following
 exceptions (wierdly, the exception would change without any changes to
 the code):
 
 Exception : Soap method is not allowed to invoke
 (I read in this list that this is caused by a missing
 SoapAction, but it's there in my wsdl and in the generated code)
 
 Exception : Requested service is not registerd at the server
 (I originally had CPP:RPC, which I figured was causing this -
 since my binding style is document, but I still got it sometimes)
 
 Exception : Soap content is not valid
 (your guess is as good as mine - I don't know yet if my soap
 content's any good)
 
 
 After restarting apache, the service seems to run.  At least the
 client doesn't log any exceptions, but I get an empty response from
 the service (null pointers for all the return values).  Not knowing
 how to debug the service, I tried having it open a file and log info
 there.  But when I add code to my server to do that, I get the
 following exception on running my client:
 
 Exception : HTTPTransportException:Input streaming error while getting
 data Timed out waiting for HTTP header message (1).
 
 This exception occurs immediately, so I don't know how it could be a
 timeout condition.
 
 For yucks, I tried replacing the fopen and fprintf's with a simple
 sprintf to a character buffer and got the same exception.  When I
 comment out all the logging code the service seems to 'work' again
 (with null return values).  At least that gives some kind of
 indication that my server is indeed running.
 
 So, my main question is, how are you supposed to debug axiscpp
 services?  Is the simple_axis_server thing supposed to facilitate
 this?  If so, any instructions?
 
 
 Some other questions:
 
 1. Even though I've got complex types as the inputs and outputs of my
 service, xwsdl2ws generates methods that take all of the fields from
 the complex types as individual parameters (rather than passing and
 returning a structure).  When I changed my binding style to rpc, I
 got structure-based methods generated.  Is that just 'the way it
 works', or can I control this?  Is one kind of method better than the
 other (the struct way seems more self-documenting than having
 Value0..7 and OutValue0..5?
 
 2. When I try to bring up ?wsdl URL's for my service or the axis
 'Calculator' sample (http://localhost/axis/calculator?wsdl), Apache
 logs a segfault.  Do I have to explicitly put the wsdl file somewhere
 (or point to it in axiscpp.conf or elsewhere)?
 
 
 
 
 Here's my server.wsdd entry:
 
 service name=HUB_TO_HUB provider=CPP:DOCUMENT
 description=TVB Hub-to-Hub Service
 parameter name=allowedMethods value=Hub_Request
 /
 parameter name=className
 value=/usr/local/axiscpp_deploy/lib/libhub2hub.so /
 /service
 
 Here's the wsdl:
 
 ?xml version=1.0 encoding=utf-8?
 wsdl:definitions
xmlns:http=http://schemas.xmlsoap.org/wsdl/http/;
xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/;
xmlns:s=http://www.w3.org/2001/XMLSchema;
xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
xmlns:tns=http://localhost/axis/HUB_TO_HUB;
xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/;
xmlns:mime=http://schemas.xmlsoap.org/wsdl/mime/;
targetNamespace=http://localhost/axis/HUB_TO_HUB;
xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/;
 
   wsdl:types
 s:schema elementFormDefault=qualified
 targetNamespace=http://localhost/axis/HUB_TO_HUB;
   s:element name=Hub_Request type=tns:HUB_IN /
   s:complexType name=HUB_IN
 s:sequence
   s:element minOccurs=0 maxOccurs=1 name=TO_TP
 

Re: Newbie questions and some weird behavior

2005-05-05 Thread Samisa Abeysinghe
I have added this how to content for windows into the win install guide
and commited this into cvs. 
Please see
http://cvs.apache.org/viewcvs.cgi/*checkout*/ws-axis/c/docs/wininstall-guide.html#simpleaxis

Plan to update the Linux guide as well.

Thanks,
Samisa...

On Thu, 2005-05-05 at 14:05, Samisa Abeysinghe wrote:
 You could test this with simple axis server and debug the same on Linux
 with gdb.
 
 I have written a small help file to let you know how to get simple axis
 server up and running on Windows. I hope you could adopt this to Linux.
 I have it http://people.apache.org/~samisa/SimpleAxisServer_HOWTO.txt
 for the time being, till I check the rest of the docs and commit this to
 CVS.
 
 Will have a look at you wsdl and see if I could get it working. Please
 try simple axis server in the mean time.
 
 Thanks,
 Samisa...
 
 On Wed, 2005-05-04 at 16:56, Yampolsky, Robert wrote:
  I'm an axis newbie, and am having trouble getting my first service to
  work.  I am able to build and deploy a simple MD5Service I found on
  the web, so I think my axis and apache installations are working ok. 
  It's axiscpp 1.5 and apache 2.0.46 (RHEL 3.0).  I installed axiscpp
  from pre-built binaries in the default /usr/local/axiscpp_deploy
  directory.
  
  I've included the server.wsdd entry and wsdl file below in case I'm
  just doing this all wrong.  Thanks in advance for putting up with my
  (probably clueless) questions.  I've been trying to educate myself on
  this via Google, etc, and have found some good docs, but still can't
  get it to work.
  
  Anyway, at one point today (after restarting Apache, this went away),
  I would run my client repeatedly and get one of the following
  exceptions (wierdly, the exception would change without any changes to
  the code):
  
  Exception : Soap method is not allowed to invoke
  (I read in this list that this is caused by a missing
  SoapAction, but it's there in my wsdl and in the generated code)
  
  Exception : Requested service is not registerd at the server
  (I originally had CPP:RPC, which I figured was causing this -
  since my binding style is document, but I still got it sometimes)
  
  Exception : Soap content is not valid
  (your guess is as good as mine - I don't know yet if my soap
  content's any good)
  
  
  After restarting apache, the service seems to run.  At least the
  client doesn't log any exceptions, but I get an empty response from
  the service (null pointers for all the return values).  Not knowing
  how to debug the service, I tried having it open a file and log info
  there.  But when I add code to my server to do that, I get the
  following exception on running my client:
  
  Exception : HTTPTransportException:Input streaming error while getting
  data Timed out waiting for HTTP header message (1).
  
  This exception occurs immediately, so I don't know how it could be a
  timeout condition.
  
  For yucks, I tried replacing the fopen and fprintf's with a simple
  sprintf to a character buffer and got the same exception.  When I
  comment out all the logging code the service seems to 'work' again
  (with null return values).  At least that gives some kind of
  indication that my server is indeed running.
  
  So, my main question is, how are you supposed to debug axiscpp
  services?  Is the simple_axis_server thing supposed to facilitate
  this?  If so, any instructions?
  
  
  Some other questions:
  
  1. Even though I've got complex types as the inputs and outputs of my
  service, xwsdl2ws generates methods that take all of the fields from
  the complex types as individual parameters (rather than passing and
  returning a structure).  When I changed my binding style to rpc, I
  got structure-based methods generated.  Is that just 'the way it
  works', or can I control this?  Is one kind of method better than the
  other (the struct way seems more self-documenting than having
  Value0..7 and OutValue0..5?
  
  2. When I try to bring up ?wsdl URL's for my service or the axis
  'Calculator' sample (http://localhost/axis/calculator?wsdl), Apache
  logs a segfault.  Do I have to explicitly put the wsdl file somewhere
  (or point to it in axiscpp.conf or elsewhere)?
  
  
  
  
  Here's my server.wsdd entry:
  
  service name=HUB_TO_HUB provider=CPP:DOCUMENT
  description=TVB Hub-to-Hub Service
  parameter name=allowedMethods value=Hub_Request
  /
  parameter name=className
  value=/usr/local/axiscpp_deploy/lib/libhub2hub.so /
  /service
  
  Here's the wsdl:
  
  ?xml version=1.0 encoding=utf-8?
  wsdl:definitions
 xmlns:http=http://schemas.xmlsoap.org/wsdl/http/;
 xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/;
 xmlns:s=http://www.w3.org/2001/XMLSchema;
 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
 xmlns:tns=http://localhost/axis/HUB_TO_HUB;
 xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/;
 

[Fwd: Re: Apache 2.0 vs Apache 1.3]

2005-05-05 Thread Samisa Abeysinghe
Would appreciate thoughts on this.

Please see the mail tail below.

Thanks,
Samisa...

-Forwarded Message-
From: John Hawkins [EMAIL PROTECTED]
To: Apache AXIS C Developers List axis-c-dev@ws.apache.org
Subject: Re: Apache 2.0 vs Apache 1.3
Date: Thu, 05 May 2005 11:17:27 +0100


I've been thinking this too - we should go to the user list first.




Samisa Abeysinghe
[EMAIL PROTECTED]

05/05/2005 16:30
 Please respond to
  Apache AXIS C Developers List
To
Apache AXIS C
Developers List
axis-c-dev@ws.apache.org
cc

   Subject
Apache 2.0 vs
Apache 1.3




Hi all,

I have noticed widespread use of Apache 2.0 and the number of queries we
are getting on Apache 1.3 is near 0.
Given this, would it be a bad idea to support only Apache 2 on server
side?
This will simplify the docs as well.

Thoughts please.

Thanks,
Samisa...
-- 
Samisa Abeysinghe [EMAIL PROTECTED]
Virtusa Corporation


Re: [Fwd: Re: Apache 2.0 vs Apache 1.3]

2005-05-05 Thread Rangika Mendis


I also think that it would be better to support only for Apache 2.

Regds
Rangika
On Thu, 2005-05-05 at 16:25 +, Samisa Abeysinghe wrote:
 Would appreciate thoughts on this.
 
 Please see the mail tail below.
 
 Thanks,
 Samisa...
 
 -Forwarded Message-
 From: John Hawkins [EMAIL PROTECTED]
 To: Apache AXIS C Developers List axis-c-dev@ws.apache.org
 Subject: Re: Apache 2.0 vs Apache 1.3
 Date: Thu, 05 May 2005 11:17:27 +0100
 
 
 I've been thinking this too - we should go to the user list first.
 
 
 
 
 Samisa Abeysinghe
 [EMAIL PROTECTED]
 
 05/05/2005 16:30
  Please respond to
   Apache AXIS C Developers List
 To
 Apache AXIS C
 Developers List
 axis-c-dev@ws.apache.org
 cc
 
Subject
 Apache 2.0 vs
 Apache 1.3
 
 
 
 
 Hi all,
 
 I have noticed widespread use of Apache 2.0 and the number of queries we
 are getting on Apache 1.3 is near 0.
 Given this, would it be a bad idea to support only Apache 2 on server
 side?
 This will simplify the docs as well.
 
 Thoughts please.
 
 Thanks,
 Samisa...



RE: [Fwd: Re: Apache 2.0 vs Apache 1.3]

2005-05-05 Thread Tony Dodd
I've lots of users who still use Apache 1.3, though personally I use 2.0. It
isn't just a question of the systems we developers use: we have in turn to
support users hosting our developed services who are running pretty
unsophisticated systems. Given that it works nicely now and is not too hard
for people without much technical background to set up, I'd be sorry if you
were to drop it.

-Original Message-
From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] 
Sent: 05 May 2005 17:26
To: axis-c-user@ws.apache.org
Subject: [Fwd: Re: Apache 2.0 vs Apache 1.3]

Would appreciate thoughts on this.

Please see the mail tail below.

Thanks,
Samisa...

-Forwarded Message-
From: John Hawkins [EMAIL PROTECTED]
To: Apache AXIS C Developers List axis-c-dev@ws.apache.org
Subject: Re: Apache 2.0 vs Apache 1.3
Date: Thu, 05 May 2005 11:17:27 +0100


I've been thinking this too - we should go to the user list first.




Samisa Abeysinghe
[EMAIL PROTECTED]

05/05/2005 16:30
 Please respond to
  Apache AXIS C Developers List
To
Apache AXIS C
Developers List
axis-c-dev@ws.apache.org
cc

   Subject
Apache 2.0 vs
Apache 1.3




Hi all,

I have noticed widespread use of Apache 2.0 and the number of 
queries we are getting on Apache 1.3 is near 0.
Given this, would it be a bad idea to support only Apache 2 on 
server side?
This will simplify the docs as well.

Thoughts please.

Thanks,
Samisa...
--
Samisa Abeysinghe [EMAIL PROTECTED] Virtusa Corporation




RE: [Fwd: Re: Apache 2.0 vs Apache 1.3]

2005-05-05 Thread Pejic,Srdjan [Ontario]
Good day all,

Right now I am using Apache 1.3, because when I started to read
documentation and user postings, I got the sense that Axis is more
stable with Apache 1.3. I'd like to see the support for that version of
Apache stay for now, unless I am wrong about the stability issue.

Thanks,

Srdjan Pejic
Software Development Intern
Environment Canada
Phone: (416) 739-5740
E-Mail: Srdjan.Pejic AT ec.gc.ca


-Original Message-
From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] 
Sent: Thursday, May 05, 2005 16:26
To: axis-c-user@ws.apache.org
Subject: [Fwd: Re: Apache 2.0 vs Apache 1.3]


Would appreciate thoughts on this.

Please see the mail tail below.

Thanks,
Samisa...

-Forwarded Message-
From: John Hawkins [EMAIL PROTECTED]
To: Apache AXIS C Developers List axis-c-dev@ws.apache.org
Subject: Re: Apache 2.0 vs Apache 1.3
Date: Thu, 05 May 2005 11:17:27 +0100


I've been thinking this too - we should go to the user list first.




Samisa Abeysinghe
[EMAIL PROTECTED]

05/05/2005 16:30
 Please respond to
  Apache AXIS C Developers List
To
Apache AXIS C
Developers List
axis-c-dev@ws.apache.org
cc

   Subject
Apache 2.0 vs
Apache 1.3




Hi all,

I have noticed widespread use of Apache 2.0 and the number of queries we
are getting on Apache 1.3 is near 0. Given this, would it be a bad idea
to support only Apache 2 on server side? This will simplify the docs as
well.

Thoughts please.

Thanks,
Samisa...
-- 
Samisa Abeysinghe [EMAIL PROTECTED]
Virtusa Corporation


RE: Newbie questions and some weird behavior

2005-05-05 Thread Yampolsky, Robert
 Will have a look at you wsdl and see if I could get it working. Please
 try simple axis server in the mean time.
 
 Thanks,
 Samisa...


Thanks.  I tried simple axis server with gdb, and was able to debug my
server.  It now is able to log its inputs and outputs, and they look
basically right.  But the client still gets null pointers for all of the
results.

Then I used tcpdump to look at the SOAP that was passed back and forth.
I've included it below.
It looks like the input is correct, but the response is screwed up.
Instead of what I expect to get:
MSG_RECPT
UID/UID
TO_TP/TO_TP
etc.
/MSG_RECPT

I'm getting:
MSG_RECPTUID/MSG_RECPTUID
MSG_RECPTTO_TP/MSG_RECPTTO_TP
etc.

Also, the data between the bad XML tags is garbage.  Interestingly, I
get binary garbage that grows by 4 bytes for each subsequent result
'string'.

Anyway, progress.

Here's the TCP dump of the SOAP:

POST /axis/HUB_TO_HUB HTTP/11  Host: 172 1648 246:80
Content-Type: text/xml; charset=UTF-8
SOAPAction: HUB_TO_HUB#Hub_Request  Content-Length: 571

?xml version='1 0' encoding='utf-8' ?
SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas xmlsoap
org/soap/envelope/
xmlns:xsd=http://3 org/2001/XMLSchema
xmlns:xsi=http://www w3 org/2001/XMLSchema-instance
SOAP-ENV:Body
ns1:Hub_Request xmlns:ns1=http://localhost/axis/HUB_TO_HUB;
ns1:TO_TPA/ns1:TO_TP
ns1:FROM_TPB/ns1:FROM_TP
ns1:TO_HUBC/ns1:TO_HUB
ns1:FROM_HUBE/ns1:FROM_HUB
ns1:UIDF/ns1:UID
ns1:APIKEYG/ns1:APIKEY
ns1:ROUTING/ns1:ROUTING
ns1:MESSAGE/ns1:MESSAGE
/ns1:Hub_Request
/SOAP-ENV:Body
/SOAP-ENV:Envelope

HTTP/1 1 200 OK  Date: Thu, 05 May 2005 18:26:37 GMT
Server: Apache/2 0 46 (Red Hat)  Content-Length: 689
Connection: close  Content-Type: text/xml
?xml version='1 0' encoding='utf-8' ?
SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas xmlsoap
org/soap/envelope/
xmlns:xsd=http://www w3 org/2001/XMLSchema
xmlns:xsi=http://www w3 org/2001/XMLSchema-instance
SOAP-ENV:Body ns1:Hub_Response
xmlns:ns1=http://localhost/axis/HUB_TO_HUB;
MSG_RECPTUID/MSG_RECPTUID
MSG_RECPTTO_TP/MSG_RECPTTO_TP
MSG_RECPTFROM_TP/MSG_RECPTFROM_TP
MSG_RECPTSTATUSamp/MSG_RECPTSTATUS
MSG_RECPTSTATUS_MSGamp/MSG_RECPTSTATUS_MSG
MSG_RECPTTIMESTAMP.amp.../MSG_RECPTTIMESTAMP
/ns1:Hub_Response
/SOAP-ENV:Body
/SOAP-ENV:Envelope


 
  
  
  Here's my server.wsdd entry:
  
  service name=HUB_TO_HUB provider=CPP:DOCUMENT
  description=TVB Hub-to-Hub Service
  parameter name=allowedMethods value=Hub_Request
  /
  parameter name=className
  value=/usr/local/axiscpp_deploy/lib/libhub2hub.so /
  /service
  
  Here's the wsdl:
  
  ?xml version=1.0 encoding=utf-8?
  wsdl:definitions
 xmlns:http=http://schemas.xmlsoap.org/wsdl/http/;
 xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/;
 xmlns:s=http://www.w3.org/2001/XMLSchema;
 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
 xmlns:tns=http://localhost/axis/HUB_TO_HUB;
 xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/;
 xmlns:mime=http://schemas.xmlsoap.org/wsdl/mime/;
 targetNamespace=http://localhost/axis/HUB_TO_HUB;
 xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/;
  
wsdl:types
  s:schema elementFormDefault=qualified
  targetNamespace=http://localhost/axis/HUB_TO_HUB;
s:element name=Hub_Request type=tns:HUB_IN /
s:complexType name=HUB_IN
  s:sequence
s:element minOccurs=0 maxOccurs=1 name=TO_TP
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=FROM_TP
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=TO_HUB
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=FROM_HUB
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=UID
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=APIKEY
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=ROUTING
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=MESSAGE
  type=s:string /
  /s:sequence
/s:complexType
  /s:schema
  s:schema elementFormDefault=qualified
s:element name=Hub_Response nillable=true
  type=tns:MSG_RECPT /
s:complexType name=MSG_RECPT
  s:sequence
s:element minOccurs=0 maxOccurs=1 name=UID
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=TO_TP
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=FROM_TP
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=STATUS
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=STATUS_MSG
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=TIMESTAMP
  type=s:string /
  /s:sequence
/s:complexType
  /s:schema
/wsdl:types
  
wsdl:message name=Hub_RequestIn
  

Sending faults from server

2005-05-05 Thread Ian Harder
Linux Mandrake 10.0
 
I've got a web service that needs to send a fault back under some
conditions.
 
It appears that the sample files for version 1.5 don't work, and neither
does my app (undeclared namespace prefix in the fault message).  I suspect
this may be a bug, since the sample doclitfault fails in the same way as my
webserver.  The server send back an invalid fault message and the client
segfaults on it.
 
I asked this question on the dev list, but don't know if it got through... I
don't see a record of it, and haven't had a response.
 
Assuming this is a bug, is there a workaround?  I'd like to be able to send
a message back to the client with some informative text, plus an error code
if possible.
 
Thanks
Ian Harder
 
P.S.  For reference, here are the doclitfault request and fault messages.
Note the undeclared prefix ns1 in the fault detail.

---request---
POST /axis/doclitfault HTTP/1.1
Host: localhost:80
Content-Type: text/xml; charset=UTF-8
SOAPAction: doclitfault#div
Content-Length: 387

?xml version='1.0' encoding='utf-8' ?
SOAP-ENV:Envelope
xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/;
xmlns:xsd=http://www.w3.org/2001/XMLSchema;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
SOAP-ENV:Body
ns1:div xmlns:ns1=http://soapinterop.org;
ns1:arg_0_02/ns1:arg_0_0
ns1:arg_1_00/ns1:arg_1_0
/ns1:div
/SOAP-ENV:Body
/SOAP-ENV:Envelope

---fault---
HTTP/1.1 200 OK
Date: Thu, 05 May 2005 20:31:26 GMT
Server: Apache-AdvancedExtranetServer/2.0.48 (Mandrake Linux/6.8.100mdk)
mod_ssl/2.0.48 OpenSSL/0.9.7c PHP/4.3.4
Content-Length: 633
Content-Type: text/xml

?xml version='1.0' encoding='utf-8' ?
SOAP-ENV:Envelope
xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/;
xmlns:xsd=http://www.w3.org/2001/XMLSchema;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
SOAP-ENV:Body
SOAP-ENV:Fault
faultcodeAxisC++ Faultcode/faultcode
faultstringCustom Out of bound exception/faultstring
faultactorserver name:listen port/faultactor
detailDivByZeroStructns1:varStringDivision by zero
exception/ns1:varString
ns1:varInt1/ns1:varInt
ns1:varFloat10.52/ns1:varFloat
/DivByZeroStruct
/detail
/SOAP-ENV:Fault
/SOAP-ENV:Body
/SOAP-ENV:Envelope



Re: Sending faults from server

2005-05-05 Thread Samisa Abeysinghe
This seems to be a bug. SOAP faults on the server side are not well
tested. On client side, there has been some testing. I also have come
across in the past, where the server sends faults in invalid formats.
Hence, this needs be fixed.

Samisa...

On Thu, 2005-05-05 at 20:35, Ian Harder wrote:
 Linux Mandrake 10.0
  
 I've got a web service that needs to send a fault back under some
 conditions.
  
 It appears that the sample files for version 1.5 don't work, and neither
 does my app (undeclared namespace prefix in the fault message).  I suspect
 this may be a bug, since the sample doclitfault fails in the same way as my
 webserver.  The server send back an invalid fault message and the client
 segfaults on it.
  
 I asked this question on the dev list, but don't know if it got through... I
 don't see a record of it, and haven't had a response.
  
 Assuming this is a bug, is there a workaround?  I'd like to be able to send
 a message back to the client with some informative text, plus an error code
 if possible.
  
 Thanks
 Ian Harder
  
 P.S.  For reference, here are the doclitfault request and fault messages.
 Note the undeclared prefix ns1 in the fault detail.
 
 ---request---
 POST /axis/doclitfault HTTP/1.1
 Host: localhost:80
 Content-Type: text/xml; charset=UTF-8
 SOAPAction: doclitfault#div
 Content-Length: 387
 
 ?xml version='1.0' encoding='utf-8' ?
 SOAP-ENV:Envelope
 xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/;
 xmlns:xsd=http://www.w3.org/2001/XMLSchema;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 SOAP-ENV:Body
 ns1:div xmlns:ns1=http://soapinterop.org;
 ns1:arg_0_02/ns1:arg_0_0
 ns1:arg_1_00/ns1:arg_1_0
 /ns1:div
 /SOAP-ENV:Body
 /SOAP-ENV:Envelope
 
 ---fault---
 HTTP/1.1 200 OK
 Date: Thu, 05 May 2005 20:31:26 GMT
 Server: Apache-AdvancedExtranetServer/2.0.48 (Mandrake Linux/6.8.100mdk)
 mod_ssl/2.0.48 OpenSSL/0.9.7c PHP/4.3.4
 Content-Length: 633
 Content-Type: text/xml
 
 ?xml version='1.0' encoding='utf-8' ?
 SOAP-ENV:Envelope
 xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/;
 xmlns:xsd=http://www.w3.org/2001/XMLSchema;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 SOAP-ENV:Body
 SOAP-ENV:Fault
 faultcodeAxisC++ Faultcode/faultcode
 faultstringCustom Out of bound exception/faultstring
 faultactorserver name:listen port/faultactor
 detailDivByZeroStructns1:varStringDivision by zero
 exception/ns1:varString
 ns1:varInt1/ns1:varInt
 ns1:varFloat10.52/ns1:varFloat
 /DivByZeroStruct
 /detail
 /SOAP-ENV:Fault
 /SOAP-ENV:Body
 /SOAP-ENV:Envelope
-- 
Samisa Abeysinghe [EMAIL PROTECTED]
Virtusa Corporation


RE: Newbie questions and some weird behavior

2005-05-05 Thread Samisa Abeysinghe
Looks to me as if there are serialization problems on the server side.
I guess this is something to do with errors in the manipulation of the
pointer data members of the class being serialized by server for
response.

One thing to figure out is to know whether the error is in generated
code or in the user written code. Will have to generate the code and
see.

Thanks,
Samisa...

On Thu, 2005-05-05 at 19:09, Yampolsky, Robert wrote:
  Will have a look at you wsdl and see if I could get it working. Please
  try simple axis server in the mean time.
  
  Thanks,
  Samisa...
 
 
 Thanks.  I tried simple axis server with gdb, and was able to debug my
 server.  It now is able to log its inputs and outputs, and they look
 basically right.  But the client still gets null pointers for all of the
 results.
 
 Then I used tcpdump to look at the SOAP that was passed back and forth.
 I've included it below.
 It looks like the input is correct, but the response is screwed up.
 Instead of what I expect to get:
   MSG_RECPT
   UID/UID
   TO_TP/TO_TP
   etc.
   /MSG_RECPT
 
 I'm getting:
   MSG_RECPTUID/MSG_RECPTUID
   MSG_RECPTTO_TP/MSG_RECPTTO_TP
   etc.
 
 Also, the data between the bad XML tags is garbage.  Interestingly, I
 get binary garbage that grows by 4 bytes for each subsequent result
 'string'.
 
 Anyway, progress.
 
 Here's the TCP dump of the SOAP:
 
 POST /axis/HUB_TO_HUB HTTP/11  Host: 172 1648 246:80
 Content-Type: text/xml; charset=UTF-8
 SOAPAction: HUB_TO_HUB#Hub_Request  Content-Length: 571
 
 ?xml version='1 0' encoding='utf-8' ?
 SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas xmlsoap
 org/soap/envelope/
 xmlns:xsd=http://3 org/2001/XMLSchema
 xmlns:xsi=http://www w3 org/2001/XMLSchema-instance
 SOAP-ENV:Body
 ns1:Hub_Request xmlns:ns1=http://localhost/axis/HUB_TO_HUB;
 ns1:TO_TPA/ns1:TO_TP
 ns1:FROM_TPB/ns1:FROM_TP
 ns1:TO_HUBC/ns1:TO_HUB
 ns1:FROM_HUBE/ns1:FROM_HUB
 ns1:UIDF/ns1:UID
 ns1:APIKEYG/ns1:APIKEY
 ns1:ROUTING/ns1:ROUTING
 ns1:MESSAGE/ns1:MESSAGE
 /ns1:Hub_Request
 /SOAP-ENV:Body
 /SOAP-ENV:Envelope
 
 HTTP/1 1 200 OK  Date: Thu, 05 May 2005 18:26:37 GMT
 Server: Apache/2 0 46 (Red Hat)  Content-Length: 689
 Connection: close  Content-Type: text/xml
 ?xml version='1 0' encoding='utf-8' ?
 SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas xmlsoap
 org/soap/envelope/
 xmlns:xsd=http://www w3 org/2001/XMLSchema
 xmlns:xsi=http://www w3 org/2001/XMLSchema-instance
 SOAP-ENV:Body ns1:Hub_Response
 xmlns:ns1=http://localhost/axis/HUB_TO_HUB;
 MSG_RECPTUID/MSG_RECPTUID
 MSG_RECPTTO_TP/MSG_RECPTTO_TP
 MSG_RECPTFROM_TP/MSG_RECPTFROM_TP
 MSG_RECPTSTATUSamp/MSG_RECPTSTATUS
 MSG_RECPTSTATUS_MSGamp/MSG_RECPTSTATUS_MSG
 MSG_RECPTTIMESTAMP.amp.../MSG_RECPTTIMESTAMP
 /ns1:Hub_Response
 /SOAP-ENV:Body
 /SOAP-ENV:Envelope
 
 
  
   
   
   Here's my server.wsdd entry:
   
   service name=HUB_TO_HUB provider=CPP:DOCUMENT
   description=TVB Hub-to-Hub Service
   parameter name=allowedMethods value=Hub_Request
   /
   parameter name=className
   value=/usr/local/axiscpp_deploy/lib/libhub2hub.so /
   /service
   
   Here's the wsdl:
   
   ?xml version=1.0 encoding=utf-8?
   wsdl:definitions
  xmlns:http=http://schemas.xmlsoap.org/wsdl/http/;
  xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/;
  xmlns:s=http://www.w3.org/2001/XMLSchema;
  xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
  xmlns:tns=http://localhost/axis/HUB_TO_HUB;
  xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/;
  xmlns:mime=http://schemas.xmlsoap.org/wsdl/mime/;
  targetNamespace=http://localhost/axis/HUB_TO_HUB;
  xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/;
   
 wsdl:types
   s:schema elementFormDefault=qualified
   targetNamespace=http://localhost/axis/HUB_TO_HUB;
 s:element name=Hub_Request type=tns:HUB_IN /
 s:complexType name=HUB_IN
   s:sequence
 s:element minOccurs=0 maxOccurs=1 name=TO_TP
   type=s:string /
 s:element minOccurs=0 maxOccurs=1 name=FROM_TP
   type=s:string /
 s:element minOccurs=0 maxOccurs=1 name=TO_HUB
   type=s:string /
 s:element minOccurs=0 maxOccurs=1 name=FROM_HUB
   type=s:string /
 s:element minOccurs=0 maxOccurs=1 name=UID
   type=s:string /
 s:element minOccurs=0 maxOccurs=1 name=APIKEY
   type=s:string /
 s:element minOccurs=0 maxOccurs=1 name=ROUTING
   type=s:string /
 s:element minOccurs=0 maxOccurs=1 name=MESSAGE
   type=s:string /
   /s:sequence
 /s:complexType
   /s:schema
   s:schema elementFormDefault=qualified
 s:element name=Hub_Response nillable=true
   type=tns:MSG_RECPT /
 s:complexType name=MSG_RECPT
   s:sequence
 s:element minOccurs=0 

RE: Apache 2.0 vs Apache 1.3

2005-05-05 Thread Samisa Abeysinghe
OK, Looks like the responses are more biased towards keeping both.

One of the main reasons that I raised this was to cut down on
maintenance efforts, not only the code, but also the docs.

In some situations, such as in case of supporting attachments Rangika
seem to have to update both modules. Anyway, if it is being used, we
have to keep supporting Apache 1.3 despite these concerns. 

Thanks,
Samisa...

-Original Message-
From: sanjaya gayan [mailto:[EMAIL PROTECTED] 
Sent: Friday, May 06, 2005 9:58 AM
To: Apache AXIS C Developers List
Subject: Re: Apache 2.0 vs Apache 1.3

Me too. The 1.3 family has been well tested very
stable and widely accepted.
Also we have had problems with Apache 2.0 (even
without axis) on windows and
1.3 never troubled us.

+1 to have both.

sanjaya.

- Original Message -
From: Sanjiva Weerawarana [EMAIL PROTECTED]
To: Apache AXIS C Developers List
axis-c-dev@ws.apache.org
Sent: Friday, May 06, 2005 6:20 AM
Subject: RE: Apache 2.0 vs Apache 1.3


 I have to vehemently agree .. there are many who are
using 1.3 and
 dropping 1.3 will cut out a significant part of the
customer base!

 Sanjiva.

 On Thu, 2005-05-05 at 13:06 -0600, Lilantha Darshana
wrote:
  My -1 for dropping 1.3 support.
 
  I strongly believe, there are so many instances
out there who still
  depends on 1.3 server
  and in need for web services to support their
legacy services.
 
  thanks
  -Lilantha
 
  -Original Message-
  From: Samisa Abeysinghe
[mailto:[EMAIL PROTECTED]
  Sent: Thursday, May 05, 2005 11:31 AM
  To: Apache AXIS C Developers List
  Subject: Apache 2.0 vs Apache 1.3
 
  Hi all,
 
  I have noticed widespread use of Apache 2.0 and
the number of queries we
  are getting on Apache 1.3 is near 0.
  Given this, would it be a bad idea to support only
Apache 2 on server
  side?
  This will simplify the docs as well.
 
  Thoughts please.
 
  Thanks,
  Samisa...
 
 
 
 
  ___
  Siebel
  IT'S ALL ABOUT THE CUSTOMER
  Visit www.siebel.com
 
  This e-mail message is for the sole use of the
intended recipient(s) and
contains confidential and/or privileged information
belonging to Siebel
Systems, Inc. or its customers or partners. Any
unauthorized review, use,
copying, disclosure or distribution of this message is
strictly prohibited.
If you are not an intended recipient of this message,
please contact the
sender by reply e-mail and destroy all soft and hard
copies of the message
and any attachments. Thank you for your cooperation.
 
 
 








___ 
Yahoo! Messenger - want a free and easy way to contact your friends
online? http://uk.messenger.yahoo.com


Re: WebSphere 5.1 does not run Web Applications running Axis SOAP Engine

2005-05-05 Thread Catalin Grigoroscuta
Hi,
I know this is off topic, but I think it may help you.
There is a much cleaner way to setup LogFactory on Websphere, without 
doing the PARENT-LAST trick. See 
http://www-1.ibm.com/support/docview.wss?uid=swg27004610 for details

[EMAIL PROTECTED] wrote:
I also had to specify a name-value pair assigning the  fully-qualified class name of the LogFactory implementation to property  org.apache.commons.logging.LogFactory in file commons-logging.properties, and  place this file in the classpath to force WAS to use the Apache implementation of LogFactory instead of the IBM one - see http://www-1.ibm.com/support/docview.wss?uid=swg27004610 (but this could be just for WAS on the iSeries).
 
I  added the commons-logging.properties file to a config directory which was in a shared library associated with the application and Axis was happy and the web service worked. 

 




java to wsdl

2005-05-05 Thread wsdl nerd
Good Afternoon to all,
I'm happy about joining the group, looking forward for
some help from you all.

I've the following queries when i need to expose a
java component into web service.

I use axis for the task[using java2wsdl and wsdl2java]

The following are my queries:

1. If i obtain a wsdl file from a class that has all
the implementation in it, should I bother about the
Interface and the Implementation obtained from
wsdl2java?

2. Say the java file that i want to expose as
webservice is a part of a big package, What should i
do about the import stuff in the file that i have to
convert to web service?? Has it got something to do
with the classpath..

Eagerly Waiting for reply,
Thank you..




Yahoo! India Matrimony: Find your life partner online
Go to: http://yahoo.shaadi.com/india-matrimony


Re: second parameter is null when using wsdl with wsdlsoap:binding style=document

2005-05-05 Thread schleckergoeschle
Hi,
thanks for your help. I'll try to regenerate and rebuild my service with the 
WRAPPED style.
I think i write my experiences to a little quick start and post it to the 
subject [CO] writing a tutorial.

Best Regards
Harri

axis-user@ws.apache.org schrieb am 04.05.05 06:14:58:
 
 When using document style, you don't specify parameters in the
 message definition. Instead you have one message part, and that
 part points to a wrapped element. The wrapper element should be
 defined as a sequence of elements -- which are your parameters.
 
 If you want to create a parameterized interface, then you want to use
 the wrapped style. (which is what .NET uses by default)
 
 Anne
 
 On 5/3/05, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
  Hi,
  in a futher message I read about a similar problem and it's solution.
  
  posted solution: change wsdlsoap:binding style=document to 
  wsdlsoap:binding style=rpc
  
  But the solution posted there is not applicable to me. My little webservice 
  has to be used in a IIS
  from MS. And the developer suite of MS has problems with WSDL files that 
  use rpc style.
  
  Has anyone a idea to solve this?
  
  I am using tomcat 5.5.9 with java 1.5.0_02-b09 on windows xp.
  My axis release is 1.2 from yesterday evening (02.05.2005 18:12)
  
  Thanks
  Harri
  __
  Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
  weltweit telefonieren! http://freephone.web.de/?mc=021201
  
 


__
Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
weltweit telefonieren! http://freephone.web.de/?mc=021201



R: HashMap of HashMaps

2005-05-05 Thread Claudia Mavilio

Hello Everybody,

I have the same Lyndon's problem, because I deploy a java webservice
that incapsulate response data into a Hashmap (whose name is dati,
please see below) using a wsdd file.
The kind of response data into the Hashmap is of type Costruttore and
doesn't appear in wsdl file, so the generation of stub and
deserialization classes fails.
Follow a snippet of mi wsdl file and a copy of the wsdd file.
Thanks in advance for any help!!!

Claudia


FILE WSDD:

service name=Costruttori provider=java:RPC
  parameter name=className
value=it.seceti.coc.service.ws.jaxrpc.CostruttoriJaxRpc/
  parameter name=allowedMethods value=*/
beanMapping qname=coc:BaseObject xmlns:coc=urn:coc
languageSpecificType=java:org.appfuse.model.BaseObject/
beanMapping qname=coc:Costruttore xmlns:coc=urn:coc
languageSpecificType=java:it.seceti.coc.model.Costruttore/
beanMapping qname=coc:IDOperatore xmlns:coc=urn:coc
languageSpecificType=java:it.seceti.coc.model.IDOperatore/
beanMapping qname=coc:Esito xmlns:coc=urn:coc
languageSpecificType=java:it.seceti.coc.model.esito.Esito/
beanMapping qname=coc:RisultatoOperazione xmlns:coc=urn:coc
languageSpecificType=java:it.seceti.coc.model.esito.RisultatoOperazione
/
beanMapping qname=coc:Locale xmlns:coc=urn:coc
languageSpecificType=java:it.seceti.coc.model.esito.Locale/
  parameter name=wsdlServiceElement value=CostruttoriService/
  parameter name=wsdlServicePort value=Costruttori/
  parameter name=wsdlPortType value=Costruttori/
 /service
--
SNIPPET OF WSDL FILE:

...
complexType name=Esito

- sequence

  element name=dati nillable=true type=apachesoap:Map / 

  element name=risultatoOperazione nillable=true
type=tns1:RisultatoOperazione / 

  /sequence

  /complexType

  /schema

..






Subject:HashMap of HashMaps
From:   Lyndon Tiu ltiu () alumni ! sfu ! ca
Date:   2004-11-23 22:03:12
Message-ID: 200411232203.iANM3CO2010215 () rm-rstar ! sfu ! ca
[Download message RAW]

Hello,

I have a custom object I am trying to pass across the wire using AXIS
wrapped style \
document-literal service.

The complex object contains a HashMap of HashMaps (that is, the values
of the \
HashMap, are HashMaps themselves).  For reference, I have called this
complex object \
ExternalDataWrapper.

I have used the Java2WSDL tool to generate the WSDL for this class by
supplying the \
Interface.  Of course, the Interface does not specify that the HashMap's
values will \
contain HashMaps, so it seems that the WSDL generated declares that the
type of the \
value components of my HashMap will contain an xsd:string.  A portion
of the WSDL \
follows:

schema targetNamespace=http://xml.apache.org/xml-soap;  \
xmlns=http://www.w3.org/2001/XMLSchema; complexType name=mapItem
  sequence
element name=key nillable=true type=xsd:string / 
element name=value nillable=true type=xsd:string / 
  /sequence
/complexType
complexType name=Map
sequence
  element maxOccurs=unbounded minOccurs=0 name=item \
type=apachesoap:mapItem /   /sequence
  /complexType
/schema
schema targetNamespace=http://beans.xdb.geocortex.net; \
xmlns=http://www.w3.org/2001/XMLSchema;  complexType
name=ExternalDataWrapper
sequence
  element name=data nillable=true type=apachesoap:Map / 
/sequence
  /complexType
.
.
.

I then used the WSDL2Java tool to generate the client stubs, server
skeletons and \
bindings, and the .wsdd files.  When I make a request to my webservice
(which should \
return my complex object), I construct the HashMap of HashMaps in the
Web Service \
implementation class.  The response is serialized correctly as follows:
\
soapenv:Envelope .  soapenv:Body
getDataResponse xmlns=my.namespace
  getDataReturn xmlns=
data
  item
xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; \
xmlns:nsl=http://xml.apache.org/xml-soap;  key123/key
value
  item
 keyOWNER/key
 valueMiller/value
  /item
  item
 keyAGE/key
 value42/value
  /item
  .
  .
/value
  /item
  item
key456/key
value
   item
.
.
.
 /data
   /getDataReturn
 /getDataResponse
  /soapenv:Body
/soapenv:Envelope


The problem is, that the client side does not seem to be able to
deserialize my \
ojbect correctly.  Perhaps it is expecting a string as the values of the
HashMap as \
opposed to HashMaps.

It is giving me this error:
org.xml.sax.SAXException: SimpleDeserializer encountered a child
element, which is \
NOT expected, in something it was trying to deserialize.

My 

Re:R: HashMap of HashMaps

2005-05-05 Thread angeloimm
Hi; why don't you use document instead of Hashmaps? In this way you can pass an 
XML rapresentation of your dati and then from the XML you can create your 
Java-structure.

-- Initial Header ---

From  : Claudia Mavilio [EMAIL PROTECTED]
To  : axis-user@ws.apache.org
Cc  :
Date  : Thu, 5 May 2005 11:50:21 +0200
Subject : R: HashMap of HashMaps


 Hello Everybody,

 I have the same Lyndon's problem, because I deploy a java webservice
 that incapsulate response data into a Hashmap (whose name is dati,
 please see below) using a wsdd file.
 The kind of response data into the Hashmap is of type Costruttore and
 doesn't appear in wsdl file, so the generation of stub and
 deserialization classes fails.
 Follow a snippet of mi wsdl file and a copy of the wsdd file.
 Thanks in advance for any help!!!

 Claudia

 
 FILE WSDD:

 service name=Costruttori provider=java:RPC
   parameter name=className
 value=it.seceti.coc.service.ws.jaxrpc.CostruttoriJaxRpc/
   parameter name=allowedMethods value=*/
   beanMapping qname=coc:BaseObject xmlns:coc=urn:coc
 languageSpecificType=java:org.appfuse.model.BaseObject/
   beanMapping qname=coc:Costruttore xmlns:coc=urn:coc
 languageSpecificType=java:it.seceti.coc.model.Costruttore/
   beanMapping qname=coc:IDOperatore xmlns:coc=urn:coc
 languageSpecificType=java:it.seceti.coc.model.IDOperatore/
   beanMapping qname=coc:Esito xmlns:coc=urn:coc
 languageSpecificType=java:it.seceti.coc.model.esito.Esito/
   beanMapping qname=coc:RisultatoOperazione xmlns:coc=urn:coc
 languageSpecificType=java:it.seceti.coc.model.esito.RisultatoOperazione
 /
   beanMapping qname=coc:Locale xmlns:coc=urn:coc
 languageSpecificType=java:it.seceti.coc.model.esito.Locale/
   parameter name=wsdlServiceElement value=CostruttoriService/
   parameter name=wsdlServicePort value=Costruttori/
   parameter name=wsdlPortType value=Costruttori/
  /service
 --
 SNIPPET OF WSDL FILE:

 ...
 complexType name=Esito

 - sequence

   element name=dati nillable=true type=apachesoap:Map /

   element name=risultatoOperazione nillable=true
 type=tns1:RisultatoOperazione /

   /sequence

   /complexType
 
   /schema

 ..

 
 



 Subject:HashMap of HashMaps
 From:   Lyndon Tiu ltiu () alumni ! sfu ! ca
 Date:   2004-11-23 22:03:12
 Message-ID: 200411232203.iANM3CO2010215 () rm-rstar ! sfu ! ca
 [Download message RAW]

 Hello,

 I have a custom object I am trying to pass across the wire using AXIS
 wrapped style \
 document-literal service.

 The complex object contains a HashMap of HashMaps (that is, the values
 of the \
 HashMap, are HashMaps themselves).  For reference, I have called this
 complex object \
 ExternalDataWrapper.

 I have used the Java2WSDL tool to generate the WSDL for this class by
 supplying the \
 Interface.  Of course, the Interface does not specify that the HashMap's
 values will \
 contain HashMaps, so it seems that the WSDL generated declares that the
 type of the \
 value components of my HashMap will contain an xsd:string.  A portion
 of the WSDL \
 follows:
 
 schema targetNamespace=http://xml.apache.org/xml-soap;  \
 xmlns=http://www.w3.org/2001/XMLSchema; complexType name=mapItem
   sequence
 element name=key nillable=true type=xsd:string /
 element name=value nillable=true type=xsd:string /
   /sequence
 /complexType
 complexType name=Map
 sequence
   element maxOccurs=unbounded minOccurs=0 name=item \
 type=apachesoap:mapItem /   /sequence
   /complexType
 /schema
 schema targetNamespace=http://beans.xdb.geocortex.net; \
 xmlns=http://www.w3.org/2001/XMLSchema;  complexType
 name=ExternalDataWrapper
 sequence
   element name=data nillable=true type=apachesoap:Map /
 /sequence
   /complexType
 .
 .
 .

 I then used the WSDL2Java tool to generate the client stubs, server
 skeletons and \
 bindings, and the .wsdd files.  When I make a request to my webservice
 (which should \
 return my complex object), I construct the HashMap of HashMaps in the
 Web Service \
 implementation class.  The response is serialized correctly as follows:
 \
 soapenv:Envelope .  soapenv:Body
 getDataResponse xmlns=my.namespace
   getDataReturn xmlns=
 data
   item
 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; \
 xmlns:nsl=http://xml.apache.org/xml-soap;  key123/key
 value
   item
  keyOWNER/key
  valueMiller/value
   /item
   item
  keyAGE/key
  value42/value
   /item
   .
   .
 /value
   /item
   item
 key456/key
 value
item
 .
  

adding soap header

2005-05-05 Thread Plorks mail

Hi all
I've created a method that adds a soap header
I'm not sure what to put here - new SOAPHeaderElement (http://)
Also i'm testing this using eclipse and the wtp tool.  But can't see the
header being created
Can anyone suggest how i test this to see the header?
Do i have to use something like MessageContext messagecontext =
MessageContext.getCurrentContext(); ???
Thanks for any help
  public static String addSOAPHeader(String token) throws Exception
   {
 Service service = new Service();
 Call call = (Call)service.createCall();
 SOAPHeaderElement tokenHeader = new
SOAPHeaderElement(http://taxservice,TokenHeader;);
 tokenHeader.setObjectValue(token);
 call.addHeader(tokenHeader);
   return token;
   }
_
Be the first to hear what's new at MSN - sign up to our free newsletters! 
http://www.msn.co.uk/newsletters



problem when sending passing long strings in axis 1.1?

2005-05-05 Thread Robert Marshall
I've generated stub functions from a wsdl file and most of the time
invoking those methods runs correctly however when I pass a long
string as one parameter I get the traceback at the foot of this
message.

The generated method is as follows

public int sendMessage(java.lang.String username, java.lang.String password,
java.lang.String deviceMSISDN, java.lang.String message, boolean 
deliveryReport,
java.lang.String mtBearer)
throws java.rmi.RemoteException, 
com.orange.telematics.otel.soap.MessageServiceException

I can send messages like this (of the length that fails) using a C++
application which has used the Borland methods for generated stubs
from the wsdl and previously I was attempting to use axis 1.2RC3 this
also worked ok. Unfortunately RC3 gave me problems when running the
code from inside Oracle (which 1.1 doesn't).

It seems that strings of around 300 characters give problems (the message 
parameter).

Are there any known workarounds for this or is likely that I'm doing something 
else wrong?

Robert

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: com.orange.telematics.otel.soap.MessageServiceException: 
 faultActor: 
 faultNode: 
 faultDetail: 
{http://xml.apache.org/axis/}stackTrace: AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: com.orange.telematics.otel.soap.MessageServiceException: 
 faultActor: 
 faultNode: 
 faultDetail: 

com.orange.telematics.otel.soap.MessageServiceException: 
at 
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
at 
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:169)
at 
org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1015)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at 
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at 
uk.co.orange.m2mconnect.orange_soap.services.MessageService.MessageServiceSoapBindingStub.sendMessage(MessageServiceSoapBindingStub.java:270)
at com.Ubiquitis.MessageCentre.M2M.sendMessage(M2M.java:287)
at com.Ubiquitis.MessageCentre.M2M.main(M2M.java:573)


com.orange.telematics.otel.soap.MessageServiceException: 
at 
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
at 
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:169)
at 
org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1015)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at 
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at 

Seeing soap response/request

2005-05-05 Thread Plorks mail

Hi all
I've created a method that creats a soap header and i want to test it to 
make sure the header is being created.  Please can someone help me ahieve 
this.

My method
   public static String addSOAPHeader(String token) throws Exception
   {
Service service = new Service();
Call call = (Call)service.createCall();
		SOAPHeaderElement tokenHeader = new 
SOAPHeaderElement(http://taxservice,TokenHeader;);

tokenHeader.setObjectValue(token);
call.addHeader(tokenHeader);
//MessageContext messagecontext = 
MessageContext.getCurrentContext();
//Message message = messagecontext.getCurrentMessage();
   return token;
   }
_
Winks  nudges are here - download MSN Messenger 7.0 today! 
http://messenger.msn.co.uk



Error: deploying Web service to Axis runtime

2005-05-05 Thread Plorks mail

I get this error when creating a web service using eclipse wtp tools
Can anyone enlighten me to what this means and how i fix it
I've had no response from eclipse forums
Many thanks for your help
IWAB0489E Error when deploying Web service to Axis runtime
 axis-admin failed with  {http://xml.apache.org/axis/}HTTP 
(404)/xxx/services/AdminService

_
Be the first to hear what's new at MSN - sign up to our free newsletters! 
http://www.msn.co.uk/newsletters



RE: is it possible to change soapenc:string to xsd:string in generated WSDL?

2005-05-05 Thread Merten Schumann
Clint,

hm, I have no Axis specific code in my web service. I just wrote a
JAX-RPC compliant web service and added Axis to my web app and then let
Axis generate the WSDL and all for me in the deploy (wsdd) step. I think
I even did not try to write a client utilizing Axis, I just have 

But, maybe when they fix your issue my one is gone too :-)

BTW: I tried to interest them to let the dotNetSoapEncFix to be
controled on a per service base (in wsdd file for a service) but seems
there's no audience for this ;-)
http://issues.apache.org/jira/browse/AXIS-1879

Will have a look at this tomorrow again ..
cu
   Merten 

 -Original Message-
 From: Dovholuk, Clint [mailto:[EMAIL PROTECTED] 
 Sent: Thursday, May 05, 2005 4:45 PM
 To: axis-user@ws.apache.org
 Subject: RE: is it possible to change soapenc:string to 
 xsd:string in generated WSDL?
 
 Merten,
 
 I've opened a bug I think that is about your issue...
 
   http://issues.apache.org/jira/browse/AXIS-1976
 
 it seems that the flag is being reset whenever you call a web service
 using the axis generated classes.
 
 to solve the issue myself, before I return anything I do:
 
 if(!TypeMappingImpl.dotnet_soapenc_bugfix)
 {
   TypeMappingImpl.dotnet_soapenc_bugfix = true; //or 
 whichever value
 you need
 } 
 
 it does the trick for me, but it's got to be a bug...
 
 Are you using any autogenerated classes to call some other web service
 and THEN seeing the issue?
 
 -Clint
 
 
 
 -Original Message-
 From: Merten Schumann [mailto:[EMAIL PROTECTED] 
 Sent: Thursday, May 05, 2005 10:31 AM
 To: axis-user@ws.apache.org
 Subject: RE: is it possible to change soapenc:string to xsd:string in
 generated WSDL?
 
 Hello,
 
 just tried Axis 1.2 final instead of 1.2rc3. My web services 
 still work
 fine :-)
 
 Found that the param dotNetSoapEncFix in server-config.wsdd 
 obviously
 made it to the final 1.2 That's fine for my usage scenario. Seems, by
 default it's set to true.
 
 Anyway, I still have these strange behaviour with freshly deployed
 services, see below ... Again, anybody else experiencing this strange
 behaviour in Axis? Maybe it's just my usage scenario here 
 with Tomcat in
 a Windows environment or so ...
 
 cu
Merten 
 
  -Original Message-
  From: Merten Schumann [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, April 13, 2005 5:19 PM
  To: axis-user@ws.apache.org
  Subject: RE: is it possible to change soapenc:string to 
 xsd:string in 
  generated WSDL?
  
  Hello,
  
  I'm playing around with this dotNetSoapEncFix in Axis. It 
 works fine 
  so far, I have xsd:string instead of soapenc:string in my generated 
  WSDL.
  But for rpc/enc web services, it works a bit funny: when I 
 deploy my 
  service and look at the WSDL, there are these soapenc:string beasts 
  contained. I have to stop/start my web app (containing 
 Axis), when I 
  then retrieve the WSDL again (I do not undeploy/deploy my service 
  again), it's correctly containing the xsd:string stuff. 
 This feature
  works each time when I deploy my service for the first time ... It 
  seems, for rpc/lit and doc/lit this issue doesn't appear.
  
  Anybody else experiencing this strange behaviour in Axis???
  
  cu
 Merten
  
   -Original Message-
   From: Merten Schumann [mailto:[EMAIL PROTECTED]
   Sent: Friday, March 18, 2005 10:19 AM
   To: axis-user@ws.apache.org
   Subject: RE: is it possible to change soapenc:string to 
 xsd:string 
   in generated WSDL?
   
   as suggested, created an enhancement request
   http://issues.apache.org/jira/browse/AXIS-1879 :-)
   
   cu
  Merten
  
 


trying to use the typeMapping tag, to fix a problem with SOAP sent from Mac OS X, 10.3

2005-05-05 Thread Daniel Morrow
Dear list,
I'm new to Axis, but not to web-services development. I've developed  
web services clients for the Mac, which communicate to .NET based  
services. Now, I'm involved in ditching the .NET work, in favor of Axis.

Anyway, we have a few Mac clients, which send some data Base64  
encoded. So, when the data gets serialized into the SOAP packet, the  
parameter might look something like this:

myTag xsi:type=xsd:base64/myTag
For some reason, Mac OS X, 10.3, claims the type is base64, when it  
really should be base64Binary. Why it does this, I don't know. (For  
those who are curious, 10.4, or Tiger, does flag the parameter as a  
base64Binary)

What I'm trying to tell Axis, is that if you see a param flagged as a  
base64, then treat it as a base64Binary.

My guess is that I can accomplish this by adding a typeMapping tag  
in my deploy.wsdd file:

typeMapping qname=xsd:base64
  xmlns:xsd=http://www.w3.org/2001/XMLSchema;
  languageSpecificType=java:byte[]
  serializer=org.apache.axis.encoding.ser.Base64SerializerFactory
  deserializer=org.apache.axis.encoding.ser.Base64DeserializerFactory
  encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
/
But this seems to have no effect, as I still get a SOAP-fault message  
sent back.

If anyone has done something like this, I'd really like to know how,  
as I'd like to continue to allow Mac OS X users to connect to my Web  
Service.

Thanks for any help in this regard,
-Dan.
P.S. - I'm using Eclipse 3.1M6, with the latest Web Tools, which  
includes Axis 1.1.


Re: ANNOUNCE : Axis 1.2 RELEASE

2005-05-05 Thread Christian faucher
Somebody should upgrade the http://ws.apache.org/axis/ main page: 
doesnt show the 1.2 release yet.

Christian Faucher


On 5/4/05, Glen Daniels [EMAIL PROTECTED] wrote:
 Hi folks:
 
 After *much* too long, the Axis team would like to announce the release
 of Axis 1.2 final.  You can get it at:
 
 http://www.apache.org/dyn/closer.cgi/ws/axis/1_2/  (if your favorite
 mirror doesn't have it yet try another, it's propagating now)
 
 A few words about this release -
 
 * A LOT of things have been cleaned up/fixed since 1.1, but 1.2 is not
 yet a perfect beast.  We know there are still issues that, although they
 didn't block this release, are important to our user base.  We will be
 working to resolve these in the near term, which brings us to...
 
 * This took way too much time.  We will (for the remainder of Axis 1.X's
 lifetime and hopefully all of Axis 2.0's...) be focusing much more
 aggressively on the release early and often mantra.  Expect to see
 more fixes and more official releases near term.
 
 * Thanks to EVERYONE who submitted bug reports, patches, and
 (especially) good, concise test cases.  Without your help we wouldn't
 have been able to make half the progress we did.
 
 * As always, please send questions/comments to axis-user@ws.apache.org,
 and development-related issues to [EMAIL PROTECTED]  Issues may be
 checked and filed at http://issues.apache.org/jira/browse/AXIS
 
 Onwards to 1.Next...
 
 Thanks,
 --Glen
   on behalf of the Axis team
 



Re: is it possible to change soapenc:string to xsd:string in generated WSDL?

2005-05-05 Thread Davanum Srinivas
Merten,

we are interested in fixing this...but there just so many things to do
and so few hours in a day :)

-- dims

On 5/5/05, Merten Schumann [EMAIL PROTECTED] wrote:
 Clint,
 
 hm, I have no Axis specific code in my web service. I just wrote a
 JAX-RPC compliant web service and added Axis to my web app and then let
 Axis generate the WSDL and all for me in the deploy (wsdd) step. I think
 I even did not try to write a client utilizing Axis, I just have
 
 But, maybe when they fix your issue my one is gone too :-)
 
 BTW: I tried to interest them to let the dotNetSoapEncFix to be
 controled on a per service base (in wsdd file for a service) but seems
 there's no audience for this ;-)
 http://issues.apache.org/jira/browse/AXIS-1879
 
 Will have a look at this tomorrow again ..
 cu
Merten
 
  -Original Message-
  From: Dovholuk, Clint [mailto:[EMAIL PROTECTED]
  Sent: Thursday, May 05, 2005 4:45 PM
  To: axis-user@ws.apache.org
  Subject: RE: is it possible to change soapenc:string to
  xsd:string in generated WSDL?
 
  Merten,
 
  I've opened a bug I think that is about your issue...
 
http://issues.apache.org/jira/browse/AXIS-1976
 
  it seems that the flag is being reset whenever you call a web service
  using the axis generated classes.
 
  to solve the issue myself, before I return anything I do:
 
  if(!TypeMappingImpl.dotnet_soapenc_bugfix)
  {
TypeMappingImpl.dotnet_soapenc_bugfix = true; //or
  whichever value
  you need
  }
 
  it does the trick for me, but it's got to be a bug...
 
  Are you using any autogenerated classes to call some other web service
  and THEN seeing the issue?
 
  -Clint
 
 
 
  -Original Message-
  From: Merten Schumann [mailto:[EMAIL PROTECTED]
  Sent: Thursday, May 05, 2005 10:31 AM
  To: axis-user@ws.apache.org
  Subject: RE: is it possible to change soapenc:string to xsd:string in
  generated WSDL?
 
  Hello,
 
  just tried Axis 1.2 final instead of 1.2rc3. My web services
  still work
  fine :-)
 
  Found that the param dotNetSoapEncFix in server-config.wsdd
  obviously
  made it to the final 1.2 That's fine for my usage scenario. Seems, by
  default it's set to true.
 
  Anyway, I still have these strange behaviour with freshly deployed
  services, see below ... Again, anybody else experiencing this strange
  behaviour in Axis? Maybe it's just my usage scenario here
  with Tomcat in
  a Windows environment or so ...
 
  cu
 Merten
 
   -Original Message-
   From: Merten Schumann [mailto:[EMAIL PROTECTED]
   Sent: Wednesday, April 13, 2005 5:19 PM
   To: axis-user@ws.apache.org
   Subject: RE: is it possible to change soapenc:string to
  xsd:string in
   generated WSDL?
  
   Hello,
  
   I'm playing around with this dotNetSoapEncFix in Axis. It
  works fine
   so far, I have xsd:string instead of soapenc:string in my generated
   WSDL.
   But for rpc/enc web services, it works a bit funny: when I
  deploy my
   service and look at the WSDL, there are these soapenc:string beasts
   contained. I have to stop/start my web app (containing
  Axis), when I
   then retrieve the WSDL again (I do not undeploy/deploy my service
   again), it's correctly containing the xsd:string stuff.
  This feature
   works each time when I deploy my service for the first time ... It
   seems, for rpc/lit and doc/lit this issue doesn't appear.
  
   Anybody else experiencing this strange behaviour in Axis???
  
   cu
  Merten
  
-Original Message-
From: Merten Schumann [mailto:[EMAIL PROTECTED]
Sent: Friday, March 18, 2005 10:19 AM
To: axis-user@ws.apache.org
Subject: RE: is it possible to change soapenc:string to
  xsd:string
in generated WSDL?
   
as suggested, created an enhancement request
http://issues.apache.org/jira/browse/AXIS-1879 :-)
   
cu
   Merten
  
 
 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/


Using JDK5 enums with Axis 1.2

2005-05-05 Thread Jay Glanville
I have a web application with an embedded instance of Axis 1.2 final in
it.  We were using JDK 1.4.2, but in preparation for JDK 5, I started
running some tests.  One of those tests was to create a JDK5 enumeration
and have my web service run/use it.  Just a note, my web service now has
both JDK 1.4-style enumerations (enum pattern) and JDK 5 enumerations.
The service implementation looks something like this:
   public EnumPattern[] getEnumPatern( EnumPattern z ) {...}
   public EnumType[] getEnumType( EnumType z ) {...}
The EnumPattern is the 1.4 implementation using the pattern, while
EnumType is an instance of a JDK 5 enumeration type.  I used both arrays
and single instances so that the WSDL generators would generate
definitions of both single and array.

 
When I let Axis auto generate the WSDL file, I get definitions for
EnumPattern[], EnumPattern and EnumType[], but not EnumType.  There is
also no warnings/errors in my logs (in 1.2-rc3, axis would warn me about
classes without public constructors, etc).

When I use the Ant Java2WSDL to generate the WSDL file, I get the
following warning on the output stream:
   [axis-java2wsdl] - The class com.nci.common.enums.EnumType
   does not contain a default constructor, which is a 
   requirement for a bean class.  The class cannot be converted
   into an xml schema type.  An xml schema anyType will be used
   to define this class in the wsdl file.
Now this is VERY interesting, as the enum type definition in JDK 5
REQUIRES the enumeration's constructor to be private.  But then of
course, if I remember correctly, the ant tasks don't actually look at
the typeMappings to help determine if a bean is actually a bean or an
enumeration.  So, I'm assuming that this is a false error.


Now, it may be that I'm configuring the serializer/deserializer wrong.
I mean, it's happened before, and I'm sure it'll happen again.  So, here
is what I'm using in my server-config.wsdd file:
   typeMapping qname=ns:EnumType
  xmlns:ns=urn:service.nci.com
  type=java:com.nci.common.enums.EnumType
  serializer=org.apache.axis.encoding.ser.EnumSerializerFactory
 
deserializer=org.apache.axis.encoding.ser.EnumDeserializerFactory
  encodingStyle=http://schemas.xmlsoap.org/soap/encoding//
 
 
I've done some extensive searching on the mailing lists (both user and
developer), with rather muddied results.  Some say things work, others
say things don't.  Many problems were identified with enumerations and
Axis 1.2-rc1 or rc2, but nothing specific to the final 1.2.
 
Can someone explicitly confirm or deny for me whether or not Axis
supports JDK5 during runtime?
 
Thanks

JDG

---
Jay Dickon Glanville


Re: trying to use the typeMapping tag, to fix a problem with SOAP sent from Mac OS X, 10.3

2005-05-05 Thread Daniel Morrow
The fault string that I get back is this:
org.xml.sax.SAXException: Deserializing parameter 'inPassword':   
could not find deserializer for type {http://www.w3.org/2001/ 
XMLSchema}base64

Don't know if that will help. Thanks for your help so far.
-Dan.
On May 5, 2005, at 12:56 PM, Jeff Greif wrote:
It's a little hard to tell without seeing the fault, but somewhere  
there should be an accessible declaration of the type xsd:base64,  
for example as a trivial restriction of xsd:base64Binary to prevent  
failure based on no type definition being available.  You may not  
be allowed to define new types in the XML Schema namespace, so this  
may be a trickier problem than it looks.

Jeff
Daniel Morrow wrote:

Dear list,
I'm new to Axis, but not to web-services development. I've  
developed  web services clients for the Mac, which communicate  
to .NET based  services. Now, I'm involved in ditching the .NET  
work, in favor of Axis.

Anyway, we have a few Mac clients, which send some data Base64   
encoded. So, when the data gets serialized into the SOAP packet,  
the  parameter might look something like this:

myTag xsi:type=xsd:base64/myTag
For some reason, Mac OS X, 10.3, claims the type is base64, when  
it  really should be base64Binary. Why it does this, I don't  
know. (For  those who are curious, 10.4, or Tiger, does flag the  
parameter as a  base64Binary)

What I'm trying to tell Axis, is that if you see a param flagged  
as a  base64, then treat it as a base64Binary.

My guess is that I can accomplish this by adding a typeMapping  
tag  in my deploy.wsdd file:

typeMapping qname=xsd:base64
  xmlns:xsd=http://www.w3.org/2001/XMLSchema;
  languageSpecificType=java:byte[]
  serializer=org.apache.axis.encoding.ser.Base64SerializerFactory
   
deserializer=org.apache.axis.encoding.ser.Base64DeserializerFactory
  encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
/

But this seems to have no effect, as I still get a SOAP-fault  
message  sent back.

If anyone has done something like this, I'd really like to know  
how,  as I'd like to continue to allow Mac OS X users to connect  
to my Web  Service.

Thanks for any help in this regard,
-Dan.
P.S. - I'm using Eclipse 3.1M6, with the latest Web Tools, which   
includes Axis 1.1.