Since you are in wrapped/literal mode shouldn't the encoding style be
""? Or you could try using beanMapping rather than
typeMapping. Also, the msgT tag looks strange. It
seems unnecessary but if you do add then I think you need a
deserializer for that structure too.
Mike Cassisa wrote:
I'm not sure what you are asking exactly. Tomcat routes incoming
requests based on the path and extension type, as specified in web.xml.
For example, any requests for jws files are routed to Axis:
servlet-mapping
servlet-nameAxisServlet/servlet-name
url-pattern*.jws/url-pattern
servlet-mapping
servlet-nameAxisServlet/servlet-name
url-pattern/services/*/url-pattern
/servlet-mapping
So every request with /services/* would be passed to the AxisServlet,
right?
Right
Now how would the AxisServlet find the service / class that needs to be
invoked?
JWS files are
By the way, thanks for this advice about upgrading xerces. My
performance increased dramatically. (An operation that was previously
talking 5 or 10 minutes now only takes 12 seconds.)
Suprisingly, I had to replace xerces not only in my on web application,
but also in the
Wow, mail transport... the world's slowest RPC? :-)
And if that is still too fast, try:
org.apache.axis.transport.postalmail
Bill
[EMAIL PROTECTED] wrote:
Hi Kumar,
Other than the HTTP Transport, Axis also provides a JMS Transport and a Mail
Transport.
See the following packages for
xsd:sequence dictates the order of the elements whereas xsd:all child
elements can be any order. But I think everyone uses xsd:sequence,
although the receiver of messages may be forgiving if the elements are
illegally out of order.
http://www.w3schools.com/schema/schema_elements_ref.asp
Tom
Hmm, it's mysterious. Praveen's problem was the item xmlns=""
namespace bug, documented (with patch) here:
http://marc.theaimsgroup.com/?l=axis-userm=109646648222389w=2
I don't know why it's working for Dino (but not Praveen) without that
patch.
Bill
Dino Chiesa wrote:
Hm
I
differences in
on-the-wire serialization don't bubble up to the .NET programmer.
Personally I find the use of "ArrayOfX" to be clunky in the WSDL and
XSD. But it reads more nicely in the serialized XML, and so I
generallyprefer it in complex schema. In simple schema, I don't
care.
Is there a way to get axis to automatically do something like:
wsdl:message name=request_mark_detailsRequest
wsdl:part name=email type=xsd:string/
wsdl:part name=keyHash type=xsd:string/
wsdl:part name=markid type=xsd:int/
/wsdl:message
Did you use Java2WSDL to generate your WSDD file? Axis
Java2Wsdl should generate stubs for the client side. What was missing
from the Java2Wsdl output?
babloosony wrote:
Hi All,
I have one interesting doubt! Say there are lot of WSDL's exposed by
some third party web service providers. I am using Apache AXIS 1.2
RC2 on client side. Are there any
Inheritance can be specfied in schemas.
wsdl:types
schema targetNamespace=http://example.org
xmlns:tns=http://example.org;
complexType name=a
sequence
element name=a1 type=string/
/sequence
/complexType
complexType name=b
complexContent
AFAIK Axis doesn't support this but if you write in document/literal or
wrapped/literal mode, and separate out your schema definition into a
separate XSD file, then you can use Castor to verify schemas. Haven't
tried it though.
See
to be Laszlo, and I want to communicate with
the business layer using axis. That's why I can't get
to struts, axis will be processing the request first.
Thanks,
Abdullah
--- Bill Keese [EMAIL PROTECTED] wrote:
Abdullah Jibaly wrote:
I want my view layer to communicate
?
babloosony wrote:
Bill- I am talking about the actual client java programs that used the
stubs created by AXIS Java2WSDL ?
On Mon, 14 Feb 2005 09:31:00 +0900, Bill Keese
[EMAIL PROTECTED] wrote:
Java2Wsdl should generate stubs for the client side. What was missing
from
Hmm, I see. Sorry, I don't know any programs that do that.
babloosony wrote:
Bill- You are right ! I am looking programs similiar to jsp/swing
On Mon, 14 Feb 2005 13:16:16 +0900, Bill Keese
[EMAIL PROTECTED] wrote:
I don't think there's any tool to automatically generate
) and passes a Person object. Before the
UpdatePersonService actually receives control, I want
the controller to (a) check the session make sure
I'm logged in, make sure I have permission to call
this service, etc.
Thanks,
Abdullah
--- Bill Keese [EMAIL PROTECTED] wrote
Did you want your soap:Body to contain getSomething/ ?
Exactly yes - I actually never considered that the method didn't
appear when using document/literal.
For that I need rpc/encoded or rpc/literal? But the latter is not
supported in .NET right?!
You want wrapped/literal. Technically,
It doesn't work because your WSDL specifies an element called
listReturn but your response doesn't contain such an element.
I think you need Eric Chijoke's code modification (hereafter referred
to as "Eric Chijoke's famous Axis array patch" :-)
Bill
Eugene Shershnev wrote:
Hi
Abdullah Jibaly wrote:
I want my view layer to communicate with
the business layer using web services ... I
can't use a standard MVC framework like struts since
the request is sent to AxisServlet, right?
As far as I understand, people usually talk about separating the
presentation layer and
Yup. My impression is that most new web services use wrapped/literal in
fact, so I think it's the path of least resistance for interop.
Note that the line in your WSDD file
service name=InicioSOAP provider=java:RPC style=wrapped
use=literal
is not visible to the .NET clients. Rather, it
Nothing wrong with using "item" for elements of different types of
arrays. I think your WSDL is OK but AXIS' output is wrong. You
probably need Eric Chijoke's famous Axis array patch to the bug http://issues.apache.org/jira/browse/AXIS-1547
Eric's patch to this issue is listed in:
Hi Robert,
I don't know anything about one-way transactions (it sounds similar to
putting a message onto an asynchronous queue), but I'm curious why you
don't want to return a response from your web service... even if the
response says "I got your message and I'm going to process
Title: Message
Interesting. How does this compare to the OASIS
WS-Security
username token profile?
http://msdn.microsoft.com/library/default.asp?url="">
Bill
Sunil Kothari wrote:
Hi Christian,
We also have something similar
going on. Our application exposes APIs and we
Sounds like a bug, so you should file a bug report. I don't know any
workaround to your problem, other than handwriting the WSDL (rather
than auto-generating it). Many people recommend writing the WSDL
manually anyway.
Praveen Peddi wrote:
This is a re-send with simplified
I wrote my own WSDL and added documentation to the schema elements like
below.
annotation
documentation
This function does ...
/documentation
/annotation
That worked fine except for some unicode issues when the WSDL is stored
in a jar file. Are
Title: Axis and xsd validation
Hi
I am using axis-1_2RC2 .I want to
validate my webservice against the xsd in the wsdl.But axis does not
seem to support that .
Is that true?
I think so. I have the same wish. I am going to try using Castor.
This article is pretty
It seems like before calling AdminClient to "deploy" a service
(http://ws.apache.org/axis/java/user-guide.html#CustomDeploymentIntroducingWSDD),
I have to copy over the class/jar files manually first. Am I missing
something? I thought the point of AdminClient was to automate
Since you are doing document/literal-wrapped style, instead of an empty
message (for the getAllCustomers() operation request), shouldn't you
have a message containing the element getCustomers/ ?
Also, shouldn't the part name for all the messages be parameters?
Yves Erb wrote:
Hi,
I don't think
I added a proper testcase to the bug. Please take a look. Thanks!
Bill Keese wrote:
I found the bug:
http://issues.apache.org/jira/browse/AXIS-1547
The bug contains a testcase, more or less; do you want something more
than that?
Thanks,
Bill
Davanum Srinivas wrote:
not i
Dhananjayan_K wrote:
Hi,
I
tried another simple example from java.sun.com, for this iam not able
to create Client from .Net (by choosing
"Add
Web Reference")can anyone help...
What was the error message? I tried using "Add Web
I'm not sure but I tend to think that it's better to initialize the
service object from your WSDL:
QName serviceName = new QName(http://soapinterop.org;,
TestService);
service = new
Service(http://localhost:8080/axis/services/test;, serviceName);
That's a bit orthogonal to your
in0 is the parameter name, not the operation name, so why is the error
message No such operation 'in0'? It sounds like a confusion between
document/literal vs. wrapped literal. You have to decide whether the
client sends a message that looks like
EchoService
in0hello world/in0
/EchoService
Do you know of any ways to create wsdls using the castor objects?
One thing you can do is to import your XSD into your WSDL file.
See http://www-106.ibm.com/developerworks/webservices/library/ws-castor/
Bill
Dhananjayan_K wrote:
I
have created a web reference("NetClient") for a webservice running in
Axis thru "Add Web Reference",
in
order to invoke the service I have to instansiate that like
NetClient.Employee
emp1 = new
To start with:
1) each message should have only one part
2) the part should point to an element, not to a type
3) (for wrapped/literal) the part name should be "parameters", for both
response and request.
You are violating #1.
Things get more complicated for arrays and
ng="s0:SimpleServiceSOAPBinding"
soap:address location="http://localhost:8080/axis/services/SSPort"/
/port
/service
/definitions
For addEntry method in the below generated class, I expect the addEntry
method signature like
public void add
t;getOrder"
input message="s0:getOrderSoapIn"/
output message="s0:getOrderSoapOut"/
/operation
/portType
!-- binding declns --
binding name="SimpleServiceSOAPBinding"
type="s0:SimpleServiceRegistry"
soap:binding transport=&qu
I also feel like the WSDL contains a lot of duplicated code, but I don't
know how to avoid it. The message definitions (in document/literal
mode) are also pretty useless, since each message just points to a
single element (with the same name).
I've thought about generating the WSDL from a
It's inconvenient having the host name / port number in the WSDL file,
like below, because every time you setup your service on a new machine
you have to manually modify the WSDL file with the new machine's name.
Do other people have a trick for dealing w/this inconvenience? Are
people
I found the bug:
http://issues.apache.org/jira/browse/AXIS-1547
The bug contains a testcase, more or less; do you want something more
than that?
Thanks,
Bill
Davanum Srinivas wrote:
not i can recall. please add a test case too...
thanks,
dims
On Tue, 25 Jan 2005 12:05:24 +0900, Bill
Using RPC/encoded with .NET is risky. (Some people say it works; other
people say it doesn't.) Also, have you tried using xsd:sequence
instead of xsd:all?
Bill
Dhananjayan_K wrote:
Hi,
I have a problem related to complex types in axis.
xsd:sequence still the same problem occurs...
what's
the other way I can go instead of using
RPC/encoded...
-Original Message-
From: Bill Keese [mailto:[EMAIL PROTECTED]]
Sent: Thursday, January 27, 2005 11:17 AM
To: [EMAIL PROTECTED]
Subject:
* '[EMAIL PROTECTED]'
*Subject:* RE: Using complex types Axis and .Net
Hi Bill,
I tried using xsd:sequence still the same problem occurs...
what's the other way I can go instead of using RPC/encoded...
-Original Message-
*From:* Bill Keese [mai
I am programming a wrapped/literal service, and I have some operations
that don't return any value (except possibly throwing an exception).
Here are the 3 things I tried, and their compatability with .NET and
AXIS client
1) empty message
wsdl:message
Did anyone ever file a bug with the patch for returning arrays from Axis to .NET?
(in the thread http://marc.theaimsgroup.com/?l=axis-userm=109646648222389w=2)
Bill
After looking into the code, I found out that deserialization for arrays
works automatically in rpc/encoded mode, but not in document/literal
mode. The workaround is to register a serializer/deserializer in the
WSDD file like this:
typeMapping
Doesn't WSDL2JAVA generate beanMapping tags? If you ran that tool you
could grab the beanMapping entries from the generated deploy.wsdd and
stick them into your custom service-config.wsdd.
PS: it seems that you are starting from java classes and generating your
WSDL rather than vice-versa. I
element has the same name as the operation name. There's no specific
convention for the return message, but it should map to the return
value for the operation.
When using document, the request message body part doesn't have the
same name as the operation, but it still must contain at most one
part
Does anyone have any advice on how to go about programmatically
deploying and undeploying services, or at least appropriate places in
the source code to begin looking?
Isn't that what the AdminClient is for?
% java org.apache.axis.client.AdminClient deploy.wsdd
AdminDone processing/Admin
Axis supercedes the soap project, as written on both the Axis home page
and the SOAP home page. (Actually, it says that Axis is the follow-on
project to SOAP)
Jim wrote:
I was interested in evaluating for use Apache
Java class libraries for SOAP/WSDL. My questions are
the following:
o
I have a few questions about return values from a method in a
wrapped/literal server.
(1) My getUser() method returns a structure:
User getUser(String id);
I know that for wrapped/literal the input message should be
soapenv:Body
getUser
idjsmith/id
/getUser
ot; element="tns:foo"/
/wsdl:message
then the response message for either wrapped or document style should be:
s:Body
tns:foo.../
/s:Body
- Anne
On Wed, 12 Jan 2005 09:38:49 +0900, Bill Keese
[EMAIL PROTECTED] wrote:
OK, I think I understand what's going on now. There is both a bug
onse. i.e.,
soapenv:Body
user
nameJohn Smith/name
address10 Main St./address
/user
/soapenv:Body
The output message should be defined so:
wsdl:message name="getUserResponse"
wsdl:part name="parameters" element="tns:user"/
/wsdl:message
- Anne
On Wed, 12 Jan 2005 18:
faultstringNo such operation 'SignRequest'/faultstring
This happens because your operation is called getSign not
SignRequest, right? I don't really understand how this works
though. I thought that you have the same name for the operation and the
top element in your request.
It depends what binding style and encoding your AXIS server is running
with. If it's in rpc/encoded or wrapped/literal it's expecting at
least the method name inside the soap body.
soap:Body
myMethod/
/soap:Body
The default for AXIS is RPC/Encoded.
. I see that it lets empty
method names only in document style encoding.
Thanks,
Vishu
From: Bill
Keese [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, January 11, 2005
10:31 PM
To:
[EMAIL PROTECTED]
Subject: Re: Axis and
.Net client
It depends what binding style
, around document/literal style,and perhaps a
new fixed version.
Thanks again.
-Message d'origine-
De: Bill Keese [mailto:[EMAIL PROTECTED]]
Envoy: vendredi 7 janvier 2005 09:35
: [EMAIL PROTECTED]
Objet: Re: Document/Literal : bad part name in axis server
response
generate a response message according to
the structure defined in the schema in the WSDL. It should generate
its own function return value only when using RPC style.
- Anne
On Fri, 07 Jan 2005 17:34:59 +0900, Bill Keese
[EMAIL PROTECTED] wrote:
Ah, I see. Yes, you should be able to use
http = (HttpURLConnection) url.openConnection();
http.setRequestMethod("POST");
http.setDoOutput(true);
http.setRequestProperty("Content-Type", "text/xml");
http.setRequestProperty("Content-Length", String.valueOf(sb.length()));
http.setRequestPropert
OK. I looked over your mail again and I saw a problem. You are using
document/literal, right? For the request, you should have the name of
the method within your soap body. And for the response, I'm not sure
what is correct but I listed my hypothesis below. (I'm still figuring
it out
2.i can't get the tcpmon running. when i enter a port number to listen to i
get nullpointerexception from a
awt-component.
by the way which ports should i use for tcpmon and soapmonitor?
I've never used soapmonitor. But I have used tcpmon. My app server
(running axis) is on port 8080. So I
RPC/Literal isn't supported (well). Maybe what you want is
document/literal wrapped (sometimes called wrapped/literal). This ends
up being similar to RPC/Literal. Although the XML transmitted on the
wire is document/literal, Axis automatically parses out the arguments
to each method so that
I've been wondering about this myself. People always talk about
separating the presentation layer from the application layer (business
logic), sometimes even running them on separate machines and
communicating via EJB, although I've never personally heard of anyone
connecting them via SOAP.
Michael -after you hand code the WSDL file (and presumably link the WSDD
file to the WSDL file as specified in
http://www.osmoticweb.com/axis-wsdd/wsdlFile.htm), how do you get the
java files? For example, assuming that you have a web service to look
up employee information, you would want at
64 matches
Mail list logo