WS-Security
I apologize if I've missed this in some publication. What is the plan for Axis C++ support WS-Security? I've got a project that requires the WSE Username/Password token and I'm trying to determine what options are available to me. Thanks, pat
RE: WS-Security
There were some efforts and there were some improvements proposed to the current engine to help implement WS-Security ,like opening up the SOAP body in handlers. But we did not hear from anyone on this lately. Is there anyone working on WS-Sec at the moment? Thanks, Samisa... -Original Message- From: Patrick Heffernan [mailto:[EMAIL PROTECTED] Sent: Thursday, May 12, 2005 12:14 PM To: axis-c-user@ws.apache.org Subject: WS-Security I apologize if I've missed this in some publication. What is the plan for Axis C++ support WS-Security? I've got a project that requires the WSE Username/Password token and I'm trying to determine what options are available to me. Thanks, pat
Re: WS-Security
Hi Dinesh, Can I ask - how you wanted that soap body? Would you need a byte stream or an object model? Was this client or server side or both? Was it on the outgoing or incoming message or both? cheers, John. Din%$h [EMAIL PROTECTED] 12/05/2005 08:07 Please respond to Apache AXIS C User List To Apache AXIS C User List axis-c-user@ws.apache.org cc Subject Re: WS-Security Hi, Both Sameera and my self had worked on this (WSS4C). We needed to get body of Soap Message through a handler.( from Serilizer). But Unfortunately It was not implemented at that time.( It was commented /* To do */). There were some threads discussing about those methods. We were unable to get access to the Body of the Soap message through a handler.So we stopped at that point. ( Until those methods are implemented ) http://wiki.apache.org/ws/WSS4C I don't know whether some one is working on this Project now. thanx, Dinesh On 5/12/05, Samisa Abeysinghe [EMAIL PROTECTED] wrote: There were some efforts and there were some improvements proposed to the current engine to help implement WS-Security ,like opening up the SOAP body in handlers. But we did not hear from anyone on this lately. Is there anyone working on WS-Sec at the moment? Thanks, Samisa... -Original Message- From: Patrick Heffernan [mailto:[EMAIL PROTECTED] ] Sent: Thursday, May 12, 2005 12:14 PM To: axis-c-user@ws.apache.org Subject: WS-Security I apologize if I've missed this in some publication. What is the plan for Axis C++ support WS-Security? I've got a project that requires the WSE Username/Password token and I'm trying to determine what options are available to me. Thanks, pat -- W.Dinesh Premalal [EMAIL PROTECTED] http://www.cse.mrt.ac.lk/~premalwd/
RE: soapAction and .NET interoperability
Surely picking from SOAPAction is a bad idea as this is not something mandatory. Then the other sensible means of doing this is to look in the SOAP body and understand what method to invoke. Thanks, Samisa -Original Message- From: John Hawkins [mailto:[EMAIL PROTECTED] Sent: Thursday, May 12, 2005 2:18 PM To: Apache AXIS C User List Subject: RE: soapAction and .NET interoperability Do we have a clear direction that we should be heading to? What is the way we should be finding the operation we're calling? .NET and Websphere for example have different methods - which should we adopt (or some other third method?) Samisa Abeysinghe [EMAIL PROTECTED] 12/05/2005 06:37 Please respond to Apache AXIS C User List To Apache AXIS C User List axis-c-user@ws.apache.org cc Subject RE: soapAction and .NET interoperability Yes, Axis C++ server side is looking for a soap action of the form: ServiceName#MethodName It uses the MethodName to locate the method to be invoked. This is not a very good practice and is something that need be fixed. Thanks, Samisa... -Original Message- From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 8:39 PM To: Apache AXIS C User List Subject: RE: soapAction and .NET interoperability Does Axis require the SOAPAction to be formatted with a '#' separating the service and method? All the Microsoft documentation I've Googled about setting SOAPAction from their stuff shows it formatted like a URL with a slash setting off the method. Would Axis reject this? By the way, I haven't actually tested with a .NET client. I'm just assuming they don't send SOAPAction, because the WSDL I was given to implement was generated with .NET tools, and it had soapAction=. I couldn't get my Axis-to-Axis code to work until I filled in at least #method there (the service name doesn't seem to be necessary). -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 12:03 AM To: Apache AXIS C User List Subject: RE: soapAction and .NET interoperability Does anybody know of a workaround for this? Either a way to define my service to not require soapAction or a way to get a .NET client to provide the method name in the soapAction header? There is no way in Axis C++ to define the service not to require the SOAPAction as of now. (But we wish to implement such kind of a mechanism - there is a Jira issue raised on this) Hence I think you have to figure out how to set the SOAPAction with .net client. I am not sure how to do this exactly but http://msdn.microsoft.com/library/default.asp?url=""> tml/frlrfSystemRuntimeRemotingMetadataSoapMethodAttributeClassSoapAction Topic.asp may lead to a clue. Thanks, Samisa... -Original Message- From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 2:39 AM To: Apache AXIS C User List Subject: soapAction and .NET interoperability I've seen posted here that Axis services don't work with soapAction set to . I can verify that that's the case. With no soapAction, I get a Soap method is not allowed to invoke exception, but when I put it in, I'm able to access the service. As a matter of fact, it seems to only require the method (i.e. soapAction=#METHOD works just as well as soapAction=SERVICE#METHOD). My problem is that I need to interoperate with .NET clients, and they don't seem to set soapAction (at least by default). Does anybody know of a workaround for this? Either a way to define my service to not require soapAction or a way to get a .NET client to provide the method name in the soapAction header? Thanks, Rob
RE: soapAction and .NET interoperability
which is what Websphere does ;-) Samisa Abeysinghe [EMAIL PROTECTED] 12/05/2005 09:31 Please respond to Apache AXIS C User List To Apache AXIS C User List axis-c-user@ws.apache.org cc Subject RE: soapAction and .NET interoperability Surely picking from SOAPAction is a bad idea as this is not something mandatory. Then the other sensible means of doing this is to look in the SOAP body and understand what method to invoke. Thanks, Samisa -Original Message- From: John Hawkins [mailto:[EMAIL PROTECTED] Sent: Thursday, May 12, 2005 2:18 PM To: Apache AXIS C User List Subject: RE: soapAction and .NET interoperability Do we have a clear direction that we should be heading to? What is the way we should be finding the operation we're calling? .NET and Websphere for example have different methods - which should we adopt (or some other third method?) Samisa Abeysinghe [EMAIL PROTECTED] 12/05/2005 06:37 Please respond to Apache AXIS C User List To Apache AXIS C User List axis-c-user@ws.apache.org cc Subject RE: soapAction and .NET interoperability Yes, Axis C++ server side is looking for a soap action of the form: ServiceName#MethodName It uses the MethodName to locate the method to be invoked. This is not a very good practice and is something that need be fixed. Thanks, Samisa... -Original Message- From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 8:39 PM To: Apache AXIS C User List Subject: RE: soapAction and .NET interoperability Does Axis require the SOAPAction to be formatted with a '#' separating the service and method? All the Microsoft documentation I've Googled about setting SOAPAction from their stuff shows it formatted like a URL with a slash setting off the method. Would Axis reject this? By the way, I haven't actually tested with a .NET client. I'm just assuming they don't send SOAPAction, because the WSDL I was given to implement was generated with .NET tools, and it had soapAction=. I couldn't get my Axis-to-Axis code to work until I filled in at least #method there (the service name doesn't seem to be necessary). -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 12:03 AM To: Apache AXIS C User List Subject: RE: soapAction and .NET interoperability Does anybody know of a workaround for this? Either a way to define my service to not require soapAction or a way to get a .NET client to provide the method name in the soapAction header? There is no way in Axis C++ to define the service not to require the SOAPAction as of now. (But we wish to implement such kind of a mechanism - there is a Jira issue raised on this) Hence I think you have to figure out how to set the SOAPAction with .net client. I am not sure how to do this exactly but http://msdn.microsoft.com/library/default.asp?url=""> tml/frlrfSystemRuntimeRemotingMetadataSoapMethodAttributeClassSoapAction Topic.asp may lead to a clue. Thanks, Samisa... -Original Message- From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 2:39 AM To: Apache AXIS C User List Subject: soapAction and .NET interoperability I've seen posted here that Axis services don't work with soapAction set to . I can verify that that's the case. With no soapAction, I get a Soap method is not allowed to invoke exception, but when I put it in, I'm able to access the service. As a matter of fact, it seems to only require the method (i.e. soapAction=#METHOD works just as well as soapAction=SERVICE#METHOD). My problem is that I need to interoperate with .NET clients, and they don't seem to set soapAction (at least by default). Does anybody know of a workaround for this? Either a way to define my service to not require soapAction or a way to get a .NET client to provide the method name in the soapAction header? Thanks, Rob
Re: HowToUse NonNegativeInteger
To: トミオさん 木村です。 NonNegativeIntegerの利用方法は大丈夫だったでしょうか? 念のため最も簡単な利用事例を以下に示しておきます。 .*.*.*.*.*.*.* import org.apache.axis.types.NonNegativeInteger; ... public class TestClient { ... a.setp2s( new NonNegativeInteger(3) ); .*.*.*.*.*.*.* 尚、リファレンスは下記URLで確認することができます。 http://ws.apache.org/axis/java/apiDocs/org/apache/axis/types/ NonNegativeInteger.html よろしくお願いします。 --- Toshi [EMAIL PROTECTED] On Wed, 11 May 2005, Toshiyuki Kimura wrote: To: トミオさん 木村です。 問題が二つありますね。 Stubを作ったところ、NonNegativeIntegerがたのメソッドができてしまい ました。 意図せず、NonNegativeInteger型の実装になってしまったようなのですが まずそのデータ型で問題ないのでしょうか?利用できる数値は「value = 0」 という条件になります。 NonNegativeIntegerがたのset/getメソッドなのですが、Javaでどうやって 値をセットしてよいかわかりません。初心者で申しわけありませんが教えて ください。 Axisには、org.apache.axis.types.NonNegativeIntegerという実装があり ます。もし、NonNegativeInteger型で充分なのであれば、上記のデータ型を 利用することで、うまく利用できるようになるはずです。当該クラスの利用 方法については、リファレンスやInternetを検索すればサンプルが見つかる と思います。 よろしくお願いします。 --- Toshi [EMAIL PROTECTED] On Wed, 11 May 2005, tomioHemmi wrote: Stubを作ったところ、NonNegativeIntegerがたのメソッドができてしまいまし た。 NonNegativeIntegerがたのset/getメソッドなのですが、Javaでどうやって値を セットしてよいかわかりません。 初心者で申しわけありませんが教えてくださ い。 Stub側の例 public class { private org.apache.axis.types.NonNagativeinteger p2s; public org.apache.axis.types.NonNagativeinteger getp2s() { return p2s ;} public void setp2s(org.apache.axis.types.NonNagativeinteger p2S){ this.p2s= p2s ;} 呼び側 たとえばaとしてコンストラクタを呼び出して 1をセットしたい場合 a.setp2s( 1 ) ; では型が違うということでエラーになってしまいま す。 まったく使い方が間違っているのでしょうか、お教えいただけませんでしょう か。 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems using Java2WSDL
Hello Bill, Your problem seems to be simple, Just run the command with -p option from the parent directory of the path in the -p option Meaning, if the path is something like -p samples.userguide.example.example6 run the command from the parent directory of the samples directory.. This should solve the problem.. --- Bill Price [EMAIL PROTECTED] wrote: I am having trouble running the Java2WSDL example (example6) in the axis user guide. First, I had problems with the first option of the -p command. I changed the -p to --PkgtoNS and got past that. Now I am getting a ClassNotFoundException on the filename parameter (class of port-type). I have copied the command line as it appears in the user guide. I am using ant to invoke the Java2WSDL. The basedir is one level above the package root. I get the same error regardless of whether I use full path name to the file, the relative path name, or the package name. The file exists at the full path name that appears in the error message. This is a snippet of the ant build file with the Java2WSDL arguments: arg line =-o wp.wsdl -l http://localhost:8080/axis/services/WidgetPrice -n urn:Example6 --PkgtoNS samples.userguide.example6 urn:Example6 ${src}/samples.userguide.example6.WidgetPrice/ Has anyone else encountered this problem or have any suggestions? TIA. Yahoo! India Matrimony: Find your life partner online Go to: http://yahoo.shaadi.com/india-matrimony
Mime attachments referenced in SOAP envelope
Hi. My web-service needs to receive an array of documents (document contains name and content): ArrayOfDocuments Document (name:string; content:base64Binary) Client demands that document content is sent as an mime attachment and SOAP envelope contains a reference to each attachment. What is the correct WSDL for this kind of structure to generate java classes? Does Axis support receiving referenced content? An example of SOAP message as my client fancies it: ArrayOfDocuments xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/ soapenc:arrayType=ns6:documentType[1] xsi:type=soapenc:Array item xsi:type=ns6:documentType name xsi:type=xsd:stringasdasd/name content href=""> /item /ArrayOfDocuments Marko
AXIS 1.2 : java2wsdl in document/literal - arrays of complex types
Hello. I know this subject has already been discussed many times. I've been searching for similar information, but it seems that all the reported problems or questions only apply to rpc style services with soap arrays... If it's not the case, sincerly sorry... First, is it legal, according to WS-I, to return arrays of custom complex types in document/literal style services ? If yes, it seems the java2wsdl fails when generating the mappings for the return element. The generated complex type is the unbounded element that represents the array, but the complex type itself is not described. Here is my example... A bean class named CharacterCount has two members : a string and an integer. An operation named analyse takes a string argument and returns an array of CharacterCount : public CharacterCount[] analyse(String string). The ant script generates the wsdl using the following target : target name=wsdl depends=compile mkdir dir=./wsdl / property name=my.namespace value=http://ws.moon.net/j2me05; / java2wsdl output=./wsdl/j2me05ws.wsdl className=net.moon.me.five.ws.StringTool namespace=${my.namespace} porttypename=StringUtility serviceportname=StringUtilityPort serviceelementname=J2ME05 style=document use=literal location=http://ws.moon.net/j2me05; classpath pathelement location=${my.services.compile-directory} / path refid=my.axis.classpath / /classpath complextype classname=net.moon.me.five.ws.StringStructure namespace=${my.namespace} / complextype classname=net.moon.me.five.ws.CharacterCount namespace=${my.namespace} / /java2wsdl /target Note that the CharacterCount mapping is included... The resulting wsdl file, where the complex type detailled description is missing : ?xml version=1.0 encoding=UTF-8? wsdl:definitions targetNamespace=http://ws.moon.net/j2me05; xmlns:impl=http://ws.moon.net/j2me05; xmlns:intf=http://ws.moon.net/j2me05; xmlns:apachesoap=http://xml.apache.org/xml-soap; xmlns:wsdlsoap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; !--WSDL created by Apache Axis version: 1.2RC2 Built on Jan 28, 2005 (07:08:29 CET)-- wsdl:types schema xmlns=http://www.w3.org/2001/XMLSchema; targetNamespace=http://ws.moon.net/j2me05; elementFormDefault=qualified element name=in0 type=xsd:string/ element name=reverseReturn type=xsd:string/ complexType name=StringStructure sequence element name=count type=xsd:int/ element name=string nillable=true type=xsd:string/ /sequence /complexType element name=in1 type=impl:StringStructure/ element name=repeatReturn type=xsd:string/ element name=in2 type=xsd:string/ complexType name=CharacterCount sequence element name=item type=impl:CharacterCount minOccurs=0 maxOccurs=unbounded/ /sequence /complexType element name=analyseReturn maxOccurs=unbounded type=impl:CharacterCount/ /schema /wsdl:types wsdl:message name=analyseRequest wsdl:part name=in0 element=impl:in2/ /wsdl:message wsdl:message name=reverseRequest wsdl:part name=in0 element=impl:in0/ /wsdl:message wsdl:message name=repeatRequest wsdl:part name=in0 element=impl:in1/ /wsdl:message wsdl:message name=repeatResponse wsdl:part name=repeatReturn element=impl:repeatReturn/ /wsdl:message wsdl:message name=analyseResponse wsdl:part name=analyseReturn element=impl:analyseReturn/ /wsdl:message wsdl:message name=reverseResponse wsdl:part name=reverseReturn element=impl:reverseReturn/ /wsdl:message wsdl:portType name=StringUtility wsdl:operation name=reverse parameterOrder=in0 wsdl:input name=reverseRequest message=impl:reverseRequest/ wsdl:output name=reverseResponse message=impl:reverseResponse/ /wsdl:operation wsdl:operation name=repeat parameterOrder=in0 wsdl:input name=repeatRequest message=impl:repeatRequest/ wsdl:output name=repeatResponse message=impl:repeatResponse/ /wsdl:operation wsdl:operation name=analyse parameterOrder=in0 wsdl:input name=analyseRequest message=impl:analyseRequest/ wsdl:output name=analyseResponse message=impl:analyseResponse/ /wsdl:operation /wsdl:portType wsdl:binding name=StringUtilityPortSoapBinding type=impl:StringUtility wsdlsoap:binding style=document transport=http://schemas.xmlsoap.org/soap/http/
envelope.addChild()
Hello All I'm trying to add a request header to the response header but not sure how to do it. Please can someone help? I'm exposing a web service method that a 'client' calls which adds a custom header. Then every call the 'client' makes i have to check the value within that header I've got this MessageContext context = MessageContext.getCurrentContext(); Message requestMessage = context.getRequestMessage(); Message responseMessage = context.getResponseMessage(); SOAPEnvelope envelope = responseMessage.getSOAPEnvelope(); SOAPHeaderElement receivedHeader = requestMessage.getSOAPEnvelope().getHeaderByName(, MyHeader); I know i need to use something like this envelope.addChild(); Any help much appreciated _ Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
Axis 2.0 CheckOut Path
Hi All I would like to contribute to Axis 2.0. But when I tried the following command to get an checkout It failed. Can any body let me the exact path. I installed svn and Maven. svn co http://svn.apache.org/repos/asf/webservices/axis/trunk/ Regads Marko Yahoo! Mail Mobile Take Yahoo! Mail with you! Check email on your mobile phone.
Re: AXIS 1.2 : java2wsdl in document/literal - arrays of complex types
Please create a bug report...my suggestion for a work around is to get a initial wsdl from java2wsdl and tweak it to your hearts content (and follow WS-I recommendations if you wan t to). thanks, dims On 5/12/05, Ephemeris Lappis [EMAIL PROTECTED] wrote: Hello. I know this subject has already been discussed many times. I've been searching for similar information, but it seems that all the reported problems or questions only apply to rpc style services with soap arrays... If it's not the case, sincerly sorry... First, is it legal, according to WS-I, to return arrays of custom complex types in document/literal style services ? If yes, it seems the java2wsdl fails when generating the mappings for the return element. The generated complex type is the unbounded element that represents the array, but the complex type itself is not described. Here is my example... A bean class named CharacterCount has two members : a string and an integer. An operation named analyse takes a string argument and returns an array of CharacterCount : public CharacterCount[] analyse(String string). The ant script generates the wsdl using the following target : target name=wsdl depends=compile mkdir dir=./wsdl / property name=my.namespace value=http://ws.moon.net/j2me05; / java2wsdl output=./wsdl/j2me05ws.wsdl className=net.moon.me.five.ws.StringTool namespace=${my.namespace} porttypename=StringUtility serviceportname=StringUtilityPort serviceelementname=J2ME05 style=document use=literal location=http://ws.moon.net/j2me05; classpath pathelement location=${my.services.compile-directory} / path refid=my.axis.classpath / /classpath complextype classname=net.moon.me.five.ws.StringStructure namespace=${my.namespace} / complextype classname=net.moon.me.five.ws.CharacterCount namespace=${my.namespace} / /java2wsdl /target Note that the CharacterCount mapping is included... The resulting wsdl file, where the complex type detailled description is missing : ?xml version=1.0 encoding=UTF-8? wsdl:definitions targetNamespace=http://ws.moon.net/j2me05; xmlns:impl=http://ws.moon.net/j2me05; xmlns:intf=http://ws.moon.net/j2me05; xmlns:apachesoap=http://xml.apache.org/xml-soap; xmlns:wsdlsoap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; !--WSDL created by Apache Axis version: 1.2RC2 Built on Jan 28, 2005 (07:08:29 CET)-- wsdl:types schema xmlns=http://www.w3.org/2001/XMLSchema; targetNamespace=http://ws.moon.net/j2me05; elementFormDefault=qualified element name=in0 type=xsd:string/ element name=reverseReturn type=xsd:string/ complexType name=StringStructure sequence element name=count type=xsd:int/ element name=string nillable=true type=xsd:string/ /sequence /complexType element name=in1 type=impl:StringStructure/ element name=repeatReturn type=xsd:string/ element name=in2 type=xsd:string/ complexType name=CharacterCount sequence element name=item type=impl:CharacterCount minOccurs=0 maxOccurs=unbounded/ /sequence /complexType element name=analyseReturn maxOccurs=unbounded type=impl:CharacterCount/ /schema /wsdl:types wsdl:message name=analyseRequest wsdl:part name=in0 element=impl:in2/ /wsdl:message wsdl:message name=reverseRequest wsdl:part name=in0 element=impl:in0/ /wsdl:message wsdl:message name=repeatRequest wsdl:part name=in0 element=impl:in1/ /wsdl:message wsdl:message name=repeatResponse wsdl:part name=repeatReturn element=impl:repeatReturn/ /wsdl:message wsdl:message name=analyseResponse wsdl:part name=analyseReturn element=impl:analyseReturn/ /wsdl:message wsdl:message name=reverseResponse wsdl:part name=reverseReturn element=impl:reverseReturn/ /wsdl:message wsdl:portType name=StringUtility wsdl:operation name=reverse parameterOrder=in0 wsdl:input name=reverseRequest message=impl:reverseRequest/ wsdl:output name=reverseResponse message=impl:reverseResponse/ /wsdl:operation wsdl:operation name=repeat parameterOrder=in0 wsdl:input name=repeatRequest message=impl:repeatRequest/ wsdl:output name=repeatResponse message=impl:repeatResponse/ /wsdl:operation
passing certificate information to axis
All - Currently I have a service that requires ssl mutual authentication by the client to connect. For testing I had been using System.setProperty settings to give the JVM and Axis knowledge of client certificate this works great for basic testing but is not suitable for real world applications in this case. How can I pass certificate information to Axis without overwriting the users system properties? Thanks
Locating file from Axis Environment..
Looking for suggestion. I'm running Axis 1.2 Final. I have a Service that needs to locate a configuration file that is special to itself. Think of it as the equivalent of server.xml for Tomcat. I need to put this file someplace, but obviously I don't want to hard code it in the code. I would like to keep it with the axis distribution just to keep things local. I would also like to make this platform independent. The ultimate would be to place it in the axis WEB-INF directory, but I suppose the lib directory with the service jar file would be ok. Is there a way to obtain this directory at run time from the context of the service method so that I can construct a java.io.File object to this file? If not, anyone have any ideas how this might be done otherwise. I don't was to depend on Tomcat configuration since I will want this service to operate in other web servers. Thanks in advance. Cliff --- Clifford Grimm Centera Integration Architect EMC Centera Engineering EMC² http://www.emc.com/ Where Information Lives * Office: 508-249-5159 (toll free 877-362-2887 x45159) * Cell: 978-618-1336 * Fax: 508-249-5495 * E-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * Instant Messaging: [EMAIL PROTECTED]
No such operation 'in0'
Hi, i've got the following exception: AxisFault faultCode: {http://xml.apache.org/axis/}Client faultSubcode: faultString: No such operation 'in0' faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:No such operation 'in0' at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:179) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319) ... However, the SOAP request seems to look like this (the output comes from one custom handler): ?xml version=1.0 encoding=UTF-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;soapenv:Body in0 xsi:nil=true xmlns=myns1//soapenv:Body/soapenv:Envelope The output of msgContext.getOperationDesc() returns the correct method name, which is completely missing in the above soap message. I'm wondering where the problem lies and can't find it. Perhaps someone can direct me into the right direction? regards MIke
Need help with AxisClient AxisFault error...
Help... I am a newbie to Axis, have successfully deployed the Axis war, the happiness page shows no errors, and I can view the list of deployed services and their wsdls. When I try to use the AdminClient to either list the deployed services or deploy a new service I get the following error: c:/java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient list log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle). log4j:WARN Please initialize the log4j system properly. Exception: AxisFault faultCode: {http://xml.apache.org/axis/}Server.NoService faultSubcode: faultString: The AXIS engine could not find a target service to invoke! targetService is urn:AdminService faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:The AXIS engine could not find a target service to invoke! targetService is urn:AdminService at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source) at org.apache.crimson.parser.Parser2.content(Unknown Source) at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source) at org.apache.crimson.parser.Parser2.content(Unknown Source) at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source) at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source) at org.apache.crimson.parser.Parser2.parse(Unknown Source) at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:424) at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:784) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165) at org.apache.axis.client.Call.invokeEngine(Call.java:2765) at org.apache.axis.client.Call.invoke(Call.java:2748) at org.apache.axis.client.Call.invoke(Call.java:1784) at org.apache.axis.client.AdminClient.process(AdminClient.java:439) at org.apache.axis.client.AdminClient.process(AdminClient.java:389) at org.apache.axis.client.AdminClient.list(AdminClient.java:185) at org.apache.axis.client.AdminClient.list(AdminClient.java:173) at org.apache.axis.client.AdminClient.process(AdminClient.java:301) at org.apache.axis.client.AdminClient.main(AdminClient.java:463) I'm running JBoss 4.0.1sp1 and Axis 1.2 on a Windows 2000 Pro pc. Any info would be greatly appreciated. Thanks, Mark
Shared Session Attributes
I have a Java class I want to generate a web service implementation for. Java2WSDL works, but this class is a client intoa content server and I need to intanciate the class and connect and preserve it in the session for all methods accept the first connect. Does anyone have a similar example they will share? I thought about writing a wrapper class for the web service to runJava2WSDL with and add the authentication attribute to each method but thatadds to thr round trips to the content server. Loosely Coupled Mike Oliver CTO Alarius Systems LLC 6800 E. Lake Mead Blvd Apt 1096 Las Vegas, NV 89156 [EMAIL PROTECTED] [EMAIL PROTECTED] IM: [EMAIL PROTECTED] http://www.alariussystems.com/ tel: fax: mobile: (702)643-7425 (702)974-0341 (518)378-6154 Add me to your address book... Want a signature like this? image001.gif
Re: no Deserilizer found for anySimpaleType
Thanks Ann, Here's the WSDL. --- wsdl:definitions targetNamespace=http://66.14.138.*:8081/eTranscriptService/services/ETranscriptService; wsdl:message name=getTimeStampRequest /wsdl:message wsdl:message name=initResponse /wsdl:message - wsdl:message name=serviceRequest wsdl:part name=xml type=xsd:string/ /wsdl:message - wsdl:message name=getTimeStampResponse wsdl:part name=getTimeStampReturn type=xsd:string/ /wsdl:message - wsdl:message name=serviceResponse wsdl:part name=serviceReturn type=xsd:string/ /wsdl:message wsdl:message name=initRequest /wsdl:message - wsdl:portType name=ETranscriptService - wsdl:operation name=init wsdl:input message=impl:initRequest name=initRequest/ wsdl:output message=impl:initResponse name=initResponse/ /wsdl:operation - wsdl:operation name=getTimeStamp wsdl:input message=impl:getTimeStampRequest name=getTimeStampRequest/ wsdl:output message=impl:getTimeStampResponse name=getTimeStampResponse/ /wsdl:operation - wsdl:operation name=service parameterOrder=xml wsdl:input message=impl:serviceRequest name=serviceRequest/ wsdl:output message=impl:serviceResponse name=serviceResponse/ /wsdl:operation /wsdl:portType - wsdl:binding name=ETranscriptServiceSoapBinding type=impl:ETranscriptService wsdlsoap:binding style=rpc transport=http://schemas.xmlsoap.org/soap/http/ - wsdl:operation name=init wsdlsoap:operation soapAction=/ - wsdl:input name=initRequest wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://dataaccess.service.eTranscript.interfacemgmt.net; use=encoded/ /wsdl:input - wsdl:output name=initResponse wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://66.14.138.*:8081/eTranscriptService/services/ETranscriptService; use=encoded/ /wsdl:output /wsdl:operation - wsdl:operation name=getTimeStamp wsdlsoap:operation soapAction=/ - wsdl:input name=getTimeStampRequest wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://dataaccess.service.eTranscript.interfacemgmt.net; use=encoded/ /wsdl:input - wsdl:output name=getTimeStampResponse wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://66.14.138.*:8081/eTranscriptService/services/ETranscriptService; use=encoded/ /wsdl:output /wsdl:operation - wsdl:operation name=service wsdlsoap:operation soapAction=/ - wsdl:input name=serviceRequest wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://dataaccess.service.eTranscript.interfacemgmt.net; use=encoded/ /wsdl:input - wsdl:output name=serviceResponse wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://66.14.138.*:8081/eTranscriptService/services/ETranscriptService; use=encoded/ /wsdl:output /wsdl:operation /wsdl:binding - wsdl:service name=ETranscriptServiceService - wsdl:port binding=impl:ETranscriptServiceSoapBinding name=ETranscriptService wsdlsoap:address location=http://66.14.138.*:8081/eTranscriptService/services/ETranscriptService/ /wsdl:port /wsdl:service /wsdl:definitions --- - Original Message - From: Anne Thomas Manes [EMAIL PROTECTED] To: axis-user@ws.apache.org Sent: Wednesday, May 11, 2005 6:50 PM Subject: Re: no Deserilizer found for anySimpaleType We also need to see the WSDL. I assume your problem is caused by the use of a type called xsd:anySimpleType -- but there is no such type defined in the XML Schema type system. Perhaps you have specified an invalid targetNamespace, or perhaps you've just specified an invalid type. But we can't tell without seeing the WSDL. Anne On 5/11/05, YIXING MA [EMAIL PROTECTED] wrote: Thanks, Please help me with that. I really struggling right now. The exception was: java.rmi.RemoteException: org.xml.sax.SAXException: Deserializing parameter 'anySimpleType': could not find deserializer for type {http://www.w3.org/2001/XMLSchema}anySimpleType at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:505) at net.interfacemgmt.eTranscript.client.action.UserMainAction.execute(UserMainAction.java:193) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at
axis installation question
Hi list, I am trying to get started with axis, and have tomcat running on my setup. I copied axis from xml-axis/webapp/ to my webapps folder, happyaxis.jsp says all the needed components were found. I have pasted the rest of the mesage at the bottom. The problem is when I copy Calculator.java as jws in my webapp/axis/ folder and try to access http://localhost:8080/axis/Calculator.jws as described in http://ws.apache.org/axis/java/install.html, I am getting a No service is available at this URL. Please let me know if there is some installation I missed. Also I have used wsdl2java to generate the java files and compiled them successfully, please tell me what is the preferred place for putting them so that it is available to axis. Also what should be the service location URL I should be using in WSDL so that axis can map them to my classes, I tried with Namespace HWService and http://localhost:8080/axis/services/HWService, but I am again getting the same No service is available at this URL. thanks in advance, happyaxis.jsp output: Examining webapp configuration Needed Components Found SAAJ API (javax.xml.soap.SOAPMessage) at /opt/jakarta-tomcat-5.5.9/webapps/axis/WEB-INF/lib/saaj.jar Found JAX-RPC API (javax.xml.rpc.Service) at /opt/jakarta-tomcat-5.5.9/webapps/axis/WEB-INF/lib/jaxrpc.jar Found Apache-Axis (org.apache.axis.transport.http.AxisServlet) at /opt/jakarta-tomcat-5.5.9/webapps/axis/WEB-INF/lib/axis.jar Found Jakarta-Commons Discovery (org.apache.commons.discovery.Resource) at /opt/jakarta-tomcat-5.5.9/webapps/axis/WEB-INF/lib/commons-discovery.jar Found Jakarta-Commons Logging (org.apache.commons.logging.Log) at /opt/jakarta-tomcat-5.5.9/bin/commons-logging-api.jar Found IBM's WSDL4Java (com.ibm.wsdl.factory.WSDLFactoryImpl) at /opt/jakarta-tomcat-5.5.9/webapps/axis/WEB-INF/lib/wsdl4j.jar Found JAXP implementation (javax.xml.parsers.SAXParserFactory) Found Activation API (javax.activation.DataHandler) at /opt/jakarta-tomcat-5.5.9/common/lib/activation.jar Optional Components Warning: could not find class javax.mail.internet.MimeMessage from file mail.jar Attachments will not work See http://java.sun.com/products/javamail/ Warning: could not find class org.apache.xml.security.Init from file xmlsec.jar XML Security is not supported See http://xml.apache.org/security/ The core axis libraries are present. 2 optional axis libraries are missing Note: On Tomcat 4.x, you may need to put libraries that contain java.* or javax.* packages into CATALINA_HOME/commons/lib Note: Even if everything this page probes for is present, there is no guarantee your web service will work, because there are many configuration options that we do not check for. These tests are necessary but not sufficient Examining Application Server Servlet version2.4 XML Parsercom.sun.org.apache.xerces.internal.jaxp.SAXParserImpl Examining System Properties java.runtime.name=Java(TM) 2 Runtime Environment, Standard Editionsun.boot.library.path=/usr/java/jdk1.5.0/jre/lib/i386java.vm.version=1.5.0-b64shared.loader=${catalina.base}/shared/classes,${catalina.base }/shared/lib/*.jarjava.vm.vendor=Sun Microsystems Inc.java.vendor.url="">path.separator=:java.vm.name=Java HotSpot(TM) Client VMtomcat.util.buf.StringCache.byte.enabled=truefile.encoding.pkg=sun.io user.country=USsun.os.patch.level=unknownjava.vm.specification.name=Java Virtual Machine Specificationuser.dir=/opt/jakarta-tomcat-5.5.9/binjava.runtime.version=1.5.0-b64java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment java.endorsed.dirs=/opt/jakarta-tomcat-5.5.9/common/endorsedos.arch=i386java.io.tmpdir=/opt/jakarta-tomcat-5.5.9/templine.separator=java.vm.specification.vendor=Sun Microsystems Inc.java.util.logging.manager=org.apache.juli.ClassLoaderLogManager java.naming.factory.url.pkgs=org.apache.namingos.name=Linuxsun.jnu.encoding=UTF-8java.library.path=/usr/java/jdk1.5.0/jre/lib/i386/client:/usr/java/jdk1.5.0/jre/lib/i386:/usr/java/jdk1.5.0/jre/../lib/i386 java.specification.name=Java Platform API Specificationjava.class.version=49.0sun.management.compiler=HotSpot Client Compileros.version=2.6.9-1.667user.home=/home/amituuser.timezone=Asia/Calcuttacatalina.useNaming=true java.awt.printerjob=sun.print.PSPrinterJobjava.specification.version=1.5file.encoding=UTF-8catalina.home=/opt/jakarta-tomcat-5.5.9user.name=amitujava.class.path=:/opt/jakarta-tomcat-5.5.9/bin/bootstrap.jar:/opt/jakarta-tomcat-5.5.9/bin/commons-logging-api.jar java.naming.factory.initial=org.apache.naming.java.javaURLContextFactorypackage.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.java.vm.specification.version=1.0 sun.arch.data.model=32java.home=/usr/java/jdk1.5.0/jrejava.specification.vendor=Sun Microsystems Inc.user.language=enjava.vm.info=mixed mode, sharingjava.version=1.5.0java.ext.dirs=/usr/java/jdk1.5.0/jre/lib/ext
Problem calling Axis WS from .Net
Title: Problem calling Axis WS from .Net Hi All, We're having problem between .Net client (C#) and Axis service. Axis version is 1.2 The WSDL defined 2 operations: login and logout. Login returns LoginResult object that contains 3 strings - that simple. The WSDL is attached. ... In the server-config.wsdd the service is defined like this: service name=MyService provider=java:RPC style=wrapped use=literal wsdlFileMyWSDL.wsdl/wsdlFile parameter name=allowedMethods value=*/ parameter name=className value=mydomain.myservice.MyWebService/ parameter name=sendXsiTypes value=false/ parameter name=sendMultiRefs value=false/ beanMapping languageSpecificType=java:mydomain.myservice.LoginResult qname=ns1:LoginResult xmlns:ns1=urn:type.myservice.mydomain/ beanMapping languageSpecificType=java:mydomain.myservice.UnexpectedErrorFault qname=ns2:UnexpectedErrorFault xmlns:ns2=urn:fault.myservice.mydomain/ namespaceurn:myservice.mydomain/namespace /service And the response looks like this: ?xml version=1.0 encoding=utf-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance soapenv:Body loginResponse xmlns=urn:myservice.mydomain loginReturn hostSiteIDMySite1/hostSiteID sessionIDEXPIRES:20050513111757-0400 UID:domain\uid/sessionID sessionTimeout600/sessionTimeout /loginReturn /loginResponse /soaenv:Body /soapenv:Envelope Now here is the problem - when .Net client calls login() it get LoginResult object back, but all its elements are null. Any help and pointers will be highly appreciated! -- Eugene MyWSDL.wsdl Description: Binary data
Re: No such operation 'in0'
If you're using document/literal, then you won't get an operation name unless you define one. I sugesst you use the document/literal wrapped convention, in which you wrap your input parameter with an element that has the same name as your operation. Anne On 5/12/05, Mike Haller [EMAIL PROTECTED] wrote: I changed a lot of WSDL and WSDD stuff, so now I get soapenv:Body myparameter xsi:nil=true xmlns=/ /soapenv:Body still missing the operation name itself. The client send the wrong SOAP request. Where do I have to tell the client (generated with wsdl2java) that he needs to include the operation name? I think it should be something like this: soapenv:Body myOperation myParameter xsi:nil=true xmlns=/ /myOperation /soapenv:Body Mike Haller schrieb: Hi, i've got the following exception: AxisFault faultCode: {http://xml.apache.org/axis/}Client faultSubcode: faultString: No such operation 'in0' faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:No such operation 'in0' at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:179) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319) ... However, the SOAP request seems to look like this (the output comes from one custom handler): ?xml version=1.0 encoding=UTF-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;soapenv:Body in0 xsi:nil=true xmlns=myns1//soapenv:Body/soapenv:Envelope The output of msgContext.getOperationDesc() returns the correct method name, which is completely missing in the above soap message. I'm wondering where the problem lies and can't find it. Perhaps someone can direct me into the right direction? regards MIke
Setting deployed services programatically
I am looking to embed Axis inside a small application and use SimpleAxisServer to run it, but I don't want to use the server-config.wsdd to setup the services. How can I setup the services programatically? -- Travis Reeder Ecommstats Web Analytics www.ecommstats.com
Re: Locating file from Axis Environment..
Use this.getClass().getResource("/myfile"); and put your file in /WEB-INF/classes Travis [EMAIL PROTECTED] wrote: Looking for suggestion. I'm running Axis 1.2 Final. I have a Service that needs to locate a configuration file that is special to itself. Think of it as the equivalent of server.xml for Tomcat. I need to put this file someplace, but obviously I don't want to hard code it in the code. I would like to keep it with the axis distribution just to keep things local. I would also like to make this platform independent. The ultimate would be to place it in the axis WEB-INF directory, but I suppose the lib directory with the service jar file would be ok. Is there a way to obtain this directory at run time from the context of the service method so that I can construct a java.io.File object to this file? If not, anyone have any ideas how this might be done otherwise. I don't was to depend on Tomcat configuration since I will want this service to operate in other web servers. Thanks in advance. Cliff --- Clifford Grimm Centera Integration Architect EMC Centera Engineering EMC http://www.emc.com/ Where Information Lives * Office: 508-249-5159 (toll free 877-362-2887 x45159) * Cell: 978-618-1336 * Fax: 508-249-5495 * E-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * Instant Messaging: [EMAIL PROTECTED] -- Travis Reeder Ecommstats Web Analytics www.ecommstats.com
SAXException - Invalid element error
This topic seems to have been discussed before, but I could not get a clear picture. I am getting the error below: org.xml.sax.SAXException: Invalid element in com.cisco.nm.wlse.xmlapi.inventory.gencode.DeviceDetail - deviceType2005-04-28 10:33:19,828 [_WlseProcessors:Pooled Thread:2] ERROR com.cisco.nm.mom.util.WlseXmlApiHelper.invoke() - AxisFaultfaultCode: {http://xml.apache.org/axis/}Server.userExceptionfaultString: org.xml.sax.SAXException: Invalid element in com.cisco.nm.wlse.xmlapi.inventory.gencode.DeviceDetail - deviceTypefaultActor: nullfaultDetail: stackTrace: org.xml.sax.SAXException: Invalid element in com.cisco.nm.wlse.xmlapi.inventory.gencode.DeviceDetail - deviceTypeat org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:252)at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:893)at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:200)at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:684)at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:241)at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)at org.apache.axis.client.Call.invoke(Call.java:1871)at org.apache.axis.client.Call.invoke(Call.java:1777)at org.apache.axis.client.Call.invoke(Call.java:1315)at com.cisco.nm.wlse.xmlapi.inventory.gencode.InventorySoapBindingStub.getDeviceDetail(InventorySoapBindingStub.java:471)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:324)at com.cisco.nm.mom.util.WlseXmlApiHelper.invoke(WlseXmlApiHelper.java:152)at $Proxy3.getDeviceDetail(Unknown Source)at com.cisco.nm.mom.wlsess.AccessPoints.updateAPInfo(AccessPoints.java:80)at com.cisco.nm.mom.wlsess.WlseDevice.updateWlseInfo(WlseDevice.java:591)at com.cisco.nm.mom.wlsess.WlseDevice.updateWlse(WlseDevice.java:443)at com.cisco.nm.mom.wlsess.RedundancyProcessor.processDcrAddModPingEvent(RedundancyProcessor.java:187)at com.cisco.nm.mom.wlsess.WlseDCREventProcessor.processUpdateEvent(WlseDCREventProcessor.java:219)at com.cisco.nm.mom.wlsess.WlseDCREventProcessor.run(WlseDCREventProcessor.java:123)at com.cisco.nm.mom.util.ThreadPool$1.run(ThreadPool.java:89) == The class com.cisco.nm.wlse.xmlapi.inventory.gencode.DeviceDetailis included below: /*** DeviceDetail.java** This file was auto-generated from WSDL* by the Apache Axis WSDL2Java emitter.*/ package com.cisco.nm.wlse.xmlapi.inventory.gencode; public class DeviceDetail implements java.io.Serializable { private com.cisco.nm.wlse.xmlapi.DeviceId id; private java.lang.String ipAddress; private java.lang.String hostname; private java.lang.String product; private java.lang.String version; private java.lang.String deviceType; private long timeLastDiscovered; private java.lang.String sysObjectID; private java.lang.String sysName; private java.lang.String sysLocation; private java.lang.String subnet; private java.lang.String dnsName; private java.lang.String userDefinedDescr; private java.lang.String[] SSIDs; private int[] vlanIDs; private java.lang.String[] macAddresses; private java.lang.String[] radioMacAddresses; private java.lang.String serialNumber; private int wdsMode; } = I have seen discussions pertaining to such problems if there are array or complex types in the class. This code was generated by wsdl2java utility and the wsdl itself was generated from java2wsdl. Axis 1.0 is the version being used. Is this problem fixed in the latest release Axis 1.2? if not, am I doing something wrong? All answers and help are very much appreciated. Thanks for your time.
Re: AXIS 1.2 : java2wsdl in document/literal - arrays of complex types
Looping Guillaume for jonas. -- dims On 5/12/05, Ephemeris Lappis [EMAIL PROTECTED] wrote: Before i open a new report, i will test it again with a more simple case. Indeed, i'm using axis with jonas, and as i'm not sure this last doesn't interfere during the service endpoint generation, i will test it again. I've already build a simple case with a similar construction, and it seems the last axis generates a good wsdl with the intermediate custom complex type and the return sequence. Now the problem seems to be the translation of this wsdl during the wsdl2java step. When i run it using the standalone axis it seems to work, but through jonas, some classes seem invalid or missing. As i have also tried to do the same using the two axis versions (the final 1.2 and the RC? that comes with jonas), and both seem to work, i have posted a message on the jonas list to have an echo from there about the wsdl processing. With more information, if the problem is confirmed, i'll post report either for jonas or for axis. Thanks anyway. -- Ephemeris Lappis -Message d'origine- De : Davanum Srinivas [mailto:[EMAIL PROTECTED] Envoyé : jeudi 12 mai 2005 13:38 À : axis-user@ws.apache.org Objet : Re: AXIS 1.2 : java2wsdl in document/literal - arrays of complex types Please create a bug report...my suggestion for a work around is to get a initial wsdl from java2wsdl and tweak it to your hearts content (and follow WS-I recommendations if you wan t to). thanks, dims On 5/12/05, Ephemeris Lappis [EMAIL PROTECTED] wrote: Hello. I know this subject has already been discussed many times. I've been searching for similar information, but it seems that all the reported problems or questions only apply to rpc style services with soap arrays... If it's not the case, sincerly sorry... First, is it legal, according to WS-I, to return arrays of custom complex types in document/literal style services ? If yes, it seems the java2wsdl fails when generating the mappings for the return element. The generated complex type is the unbounded element that represents the array, but the complex type itself is not described. Here is my example... A bean class named CharacterCount has two members : a string and an integer. An operation named analyse takes a string argument and returns an array of CharacterCount : public CharacterCount[] analyse(String string). The ant script generates the wsdl using the following target : target name=wsdl depends=compile mkdir dir=./wsdl / property name=my.namespace value=http://ws.moon.net/j2me05; / java2wsdl output=./wsdl/j2me05ws.wsdl className=net.moon.me.five.ws.StringTool namespace=${my.namespace} porttypename=StringUtility serviceportname=StringUtilityPort serviceelementname=J2ME05 style=document use=literal location=http://ws.moon.net/j2me05; classpath pathelement location=${my.services.compile-directory} / path refid=my.axis.classpath / /classpath complextype classname=net.moon.me.five.ws.StringStructure namespace=${my.namespace} / complextype classname=net.moon.me.five.ws.CharacterCount namespace=${my.namespace} / /java2wsdl /target Note that the CharacterCount mapping is included... The resulting wsdl file, where the complex type detailled description is missing : ?xml version=1.0 encoding=UTF-8? wsdl:definitions targetNamespace=http://ws.moon.net/j2me05; xmlns:impl=http://ws.moon.net/j2me05; xmlns:intf=http://ws.moon.net/j2me05; xmlns:apachesoap=http://xml.apache.org/xml-soap; xmlns:wsdlsoap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; !--WSDL created by Apache Axis version: 1.2RC2 Built on Jan 28, 2005 (07:08:29 CET)-- wsdl:types schema xmlns=http://www.w3.org/2001/XMLSchema; targetNamespace=http://ws.moon.net/j2me05; elementFormDefault=qualified element name=in0 type=xsd:string/ element name=reverseReturn type=xsd:string/ complexType name=StringStructure sequence element name=count type=xsd:int/ element name=string nillable=true type=xsd:string/ /sequence /complexType element name=in1 type=impl:StringStructure/ element name=repeatReturn type=xsd:string/ element
WSDL2Java and javadoc
WSDL2Java automatically turns the text inside wsdl:documentation nodes into comments before the generated methods declaration, however it generates normal // comments. Is it possible to have it generate JavaDoc style comments? Thanks. -- Lorenzo
RE: Problem calling Axis WS from .Net
Title: RE: Problem calling Axis WS from .Net OK, I found a way to make .Net to understand the response. If I put all type definitions under one schema everything works. Does anybody have a clue what's wrong with multiple schema definitions? Thanks, Eugene _ From: Eugene Shershnev [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 12, 2005 11:49a To: 'axis-user@ws.apache.org' Subject: Problem calling Axis WS from .Net Hi All, We're having problem between .Net client (C#) and Axis service. Axis version is 1.2 The WSDL defined 2 operations: login and logout. Login returns LoginResult object that contains 3 strings - that simple. The WSDL is attached. File: MyWSDL.wsdl In the server-config.wsdd the service is defined like this: service name=MyService provider=java:RPC style=wrapped use=literal wsdlFileMyWSDL.wsdl/wsdlFile parameter name=allowedMethods value=*/ parameter name=className value=mydomain.myservice.MyWebService/ parameter name=sendXsiTypes value=false/ parameter name=sendMultiRefs value=false/ beanMapping languageSpecificType=java:mydomain.myservice.LoginResult qname=ns1:LoginResult xmlns:ns1=urn:type.myservice.mydomain/ beanMapping languageSpecificType=java:mydomain.myservice.UnexpectedErrorFault qname=ns2:UnexpectedErrorFault xmlns:ns2=urn:fault.myservice.mydomain/ namespaceurn:myservice.mydomain/namespace /service And the response looks like this: ?xml version=1.0 encoding=utf-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance soapenv:Body loginResponse xmlns=urn:myservice.mydomain loginReturn hostSiteIDMySite1/hostSiteID sessionIDEXPIRES:20050513111757-0400 UID:domain\uid/sessionID sessionTimeout600/sessionTimeout /loginReturn /loginResponse /soaenv:Body /soapenv:Envelope Now here is the problem - when .Net client calls login() it get LoginResult object back, but all its elements are null. Any help and pointers will be highly appreciated! -- Eugene
RE: problem integrating the client in another web application: AxisServlet threw exception
Sri, Its hard to tell what you are doing because we don't see any of the source, but I can tell you that I use commons HttpClient to access one servlet from another servlet all day long with no problems so you can at least know that should work. Michael Oliver CTO Alarius Systems LLC 6800 E. Lake Mead Blvd, #1096 Las Vegas, NV 89156 Phone:(702)643-7425 Fax:(702)974-0341 *Note new email changed from [EMAIL PROTECTED] -Original Message- From: Srinadh Karumuri [mailto:[EMAIL PROTECTED] Sent: Thursday, May 12, 2005 1:11 PM To: axis-user@ws.apache.org Subject: problem integrating the client in another web application: AxisServlet threw exception Well, Now it's scary. I wrote test client code and my services work quite well. Now I am trying to call these services from my web application which is residing on the same Tomcat and getting the following exception. Can anyone direct/guide me? If this doesn't work then I will have to dump the Axis altogether and go to plan B which I am reluctant to do. Thanks for any help, -Sri 2005-05-12 15:42:28 StandardWrapperValve[AxisServlet]: Servlet.service() for servlet AxisServlet threw exception javax.servlet.ServletException: Servlet execution threw an exception at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:222) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:146) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:209) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:596) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 33) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:144) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:596) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 33) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:235 8) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :133) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:596) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:118) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:594) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :116) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:594) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 33) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:127) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:596) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 33) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79 9) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC onnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57 7) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:683) at java.lang.Thread.run(Thread.java:534) - Root Cause - java.lang.LinkageError: loader constraints violated when linking javax/xml/soap/SOAPMessage class at org.apache.axis.transport.http.AxisServlet.createMessageContext(AxisServ let.java:1041) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:799) at javax.servlet.http.HttpServlet.service(HttpServlet.java:716) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.j ava:339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:200) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:146) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:209)
DocumentBuilder from byte/packet
Was tring to figure out the best way to take an XML document that I have read in from a datagram socket stored in a DatagramPacket(can convert to byte or String etc) to be able to parse it using DocumentBuilder using a DOM parse. All the methods seem to work off of a file or a steam. any thoughts? Thanks, Frank
Re: No such operation 'in0'
rpc/literal and wrapped document/literal may look identical on the wire if you define your doc/literal schema as elementFormDefault=unqualified. If you define the schema as elementFormDefault=qualified, then the parameter elements will be namespace qualified, and the messages won't be quite the same. The major difference between rpc/literal and wrapped doc/literal is that with rpc/literal you do not have a schema of the contents of the soap:Body, and with wrapped doc/literal you do have a schema. When using rpc/literal, you don't define the message element, you only define the element types, and the SOAP engine automatically builds the message structure based on the type definitions. You can validate the message using a schema, but the validation routine must understand the RPC generation conventions, so it's not quite as straightforward as when using doc/literal. Another important difference is that .NET supports wrapped doc/literal (by default), but it does not support rpc/literal. rpc/encoded is a significantly different creature than rpc/literal. In this case, the SOAP engine constructs the message not based on the schema definition, but based on the SOAP encoding model. Schema validation typically doesn't work. Anne On 5/12/05, Mike Haller [EMAIL PROTECTED] wrote: Thanks Anne! I changed operation style to wrapped in the server-config.wsdd It added an additional element between the parameter and the soap body element. It's working fine now! :-) @All But - what's the difference to RPC-style then? However, the I kept struggling with Axis+Castor+Serializer the last few hours and am very tired of all the neat little problems arising on the way... my last one was a case-sensitivity problem. I had elements in my schema with lower-case names (e.g. xsd:element name=foobar type=xsd:string/) and Castor generated Foobar.class. The web service client got an answer with the element foobar, and so could not find the appropriate deserializer. I changed all the names to have the first character upper case, and everything works smooth now. (I hope this is the right way to do this) regards MIke Anne Thomas Manes schrieb: If you're using document/literal, then you won't get an operation name unless you define one. I sugesst you use the document/literal wrapped convention, in which you wrap your input parameter with an element that has the same name as your operation. Anne On 5/12/05, Mike Haller [EMAIL PROTECTED] wrote: I changed a lot of WSDL and WSDD stuff, so now I get soapenv:Body myparameter xsi:nil=true xmlns=/ /soapenv:Body still missing the operation name itself. The client send the wrong SOAP request. Where do I have to tell the client (generated with wsdl2java) that he needs to include the operation name? I think it should be something like this: soapenv:Body myOperation myParameter xsi:nil=true xmlns=/ /myOperation /soapenv:Body Mike Haller schrieb: Hi, i've got the following exception: AxisFault faultCode: {http://xml.apache.org/axis/}Client faultSubcode: faultString: No such operation 'in0' faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:No such operation 'in0' at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:179) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319) ... However, the SOAP request seems to look like this (the output comes from one custom handler): ?xml version=1.0 encoding=UTF-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;soapenv:Body in0 xsi:nil=true xmlns=myns1//soapenv:Body/soapenv:Envelope The output of msgContext.getOperationDesc() returns the correct method name, which is completely missing in the above soap message. I'm wondering where the problem lies and can't find it. Perhaps someone can direct me into the right direction? regards MIke