problem invoking axis service from PDA with CDC configuration

2007-10-02 Thread Michele Amoretti
Hi all,

I have a client running on a PDA with JVM 1.3, and CDC configuration. The
client should invoke a Web Service deployed in Tomcat on a server.

The problem is that when the client invokes the service, it always receive a
null response, and (strange thing) the server does not seem to receive any
request (it should log something on stdout but it doesn't). No exception is
raised!

If I run the client code on my laptop, the invocation is correct and the
server logs correctly.

Any idea? Maybe some .jar is lacking on the PDA?

-- 
Michele Amoretti, Ph.D.
Distributed Systems Group
Dipartimento di Ingegneria dell'Informazione
Università degli Studi di Parma
http://www.ce.unipr.it/amoretti


problem when invoking axis2 service with axis1 client

2007-06-10 Thread Michele Amoretti
  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:2424)
   at org.apache.axis.client.Call.invoke(Call.java:2347)
   at org.apache.axis.client.Call.invoke (Call.java:1804)
   at nc3a.ListServices.main(ListServices.java:72)


Why this?



--
Michele Amoretti, Ph.D.
Distributed Systems Group
Dipartimento di Ingegneria dell'Informazione
Università degli Studi di Parma
http://www.ce.unipr.it/amoretti


problem when invoking axis2 service with axis1 client

2007-06-10 Thread Michele Amoretti
ache.axis.client.Call.invoke(Call.java:2347)
   at org.apache.axis.client.Call.invoke(Call.java:1804)
   at nc3a.ListServices.main(ListServices.java:72)


Why this?


--
Michele Amoretti, Ph.D.
Distributed Systems Group
Dipartimento di Ingegneria dell'Informazione
Università degli Studi di Parma
http://www.ce.unipr.it/amoretti


Re: using MTOM in a AXIOM-based WS

2007-04-20 Thread Michele Amoretti

Yes I read the guide but I need a more complete example.


In my MTOM implementation I did not used a base64 encoded string.. I simply
did:

public OMElement getPriceFile(OMElement element) throws XMLStreamException {
   element.build();
   element.detach();

   OMElement fileNameElement = element.getFirstElement();
   String fileName = "C:\\Programmi\\" + fileNameElement.getText();

   System.out.println("fileName = " + fileName);

   OMFactory fac = OMAbstractFactory.getOMFactory();
   OMNamespace omNs =
   fac.createOMNamespace("http://quickstart.samples/xsd";, "ns");
   OMElement fileElement = fac.createOMElement("file", omNs);

   FileDataSource dataSource =
   new FileDataSource(fileName);

   DataHandler dataHandler = new DataHandler(dataSource);

   // create an OMText node with the above DataHandler and set
optimized to true
   OMText textData = fac.createOMText(dataHandler, true);

   fileElement.addChild(textData);

   OMElement response = fac.createOMElement("getPriceFileResponse",
omNs);
   OMElement priceFile = fac.createOMElement("priceFile", omNs);
   priceFile.addChild(textData);
   response.addChild(priceFile);

   return response;
   }

And it does work wheter I transfer a txt, a pdf, a jpg..

The WSDL currently defines:

   
   
   
   
   
   
   

Is this bad?

Thanks


On 4/20/07, Thilina Gunarathne <[EMAIL PROTECTED]> wrote:


> I have question about the WSDL for the MTOM-based service... For the
> operation which has a parameter which is a binary file, which type
> should I declare for the parameter? string?
base64Binary..
You may refer to here[1] as a guide...

Thanks,
Thilina

[1] http://ws.apache.org/axis2/1_1_1/mtom-guide.html#25
>
> In my enhanced StockQuoteservice.wsdl (which has a getPriceFile method
> which receives a file name as input and returns a priceFile as
> outpput), I wrote:
>
> 
> http://www.w3.org/2001/XMLSchema";
> attributeFormDefault="qualified" elementFormDefault="qualified"
> targetNamespace="http://quickstart.samples/xsd";>
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>
>
> Is this correct?
>
> Thank you very much
>
>
> >
> >
[1]http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/deprecated/mtomsample/
> > [2]ws.apache.org/commons/tcpmon
> > --
> > Thilina Gunarathne  -  http://www.wso2.com -
http://thilinag.blogspot.com
> >
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Michele Amoretti, Ph.D.
> Distributed Systems Group
> Dipartimento di Ingegneria dell'Informazione
> Università degli Studi di Parma
> http://www.ce.unipr.it/amoretti
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Thilina Gunarathne  -  http://www.wso2.com - http://thilinag.blogspot.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Michele Amoretti, Ph.D.
Distributed Systems Group
Dipartimento di Ingegneria dell'Informazione
Università degli Studi di Parma
http://www.ce.unipr.it/amoretti


Re: using MTOM in a AXIOM-based WS

2007-04-20 Thread Michele Amoretti

Argh I am sorry, I made a mistake and I was transferring another file (of
24KB size) and saving it with the wrong name (and extension).

Now I can say that mymtomwithaxiomexample works properly and could
be inserted in the samples folder of axis2 distribution!

I only have one doubt about the WSDL:

For the
operation which has a parameter which is a binary file, which type
should I declare for the parameter? string?

In my enhanced StockQuoteservice.wsdl (which has a getPriceFile method
which receives a file name as input and returns a priceFile as
outpput), I wrote:


  http://www.w3.org/2001/XMLSchema";
attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://quickstart.samples/xsd";>
  
  
  
  
  
  
  
  
  
  
  
  
  
  


Is this correct?

Thanks
Michele



On 4/20/07, Michele Amoretti <[EMAIL PROTECTED]> wrote:


No, I tried this but the problem persists: only 24KB of the file are
transferred from the service to the client. :(

Michele

On 4/19/07, Masin, Valerie <[EMAIL PROTECTED]> wrote:

> A colleague had this problem (when using Sun's webserver) and fixed it
> by setting this on the client.
> stub._getServiceClient().getOptions().setProperty(
> HTTPConstants.CHUNKED,
> Constants.VALUE_FALSE);
>
> I don't know if there is a way to say the same thing from the server, or
> if it is even necessary. The reason had something to do with whether the
> length was being passed. Sorry I am vague but this didn't happen directly to
> me so I don't know the exact particulars.
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Michele Amoretti
> Sent: Thursday, April 19, 2007 8:50 AM
> To: axis-user@ws.apache.org
> Subject: Re: using MTOM in a AXIOM-based WS
>
> Ok, it is setProperty()
>
> Now I managed to transfer a file from the service to the client, but if
> I try to transfer a file > 23963 Bytes, the file is cut.
>
> Should I make some adjustments in axis2.xml, or in Tomcat configuration?
>
> I tried to enable caching both at the server side and at the client
> side, as explained in the tutorial:
>options.setProperty (
> Constants.Configuration.CACHE_ATTACHMENTS,Constants.VALUE_TRUE);
> options.setProperty(Constants.Configuration.ATTACHMENT_TEMP_DIR,
> "C://axisTemp");
> options.setProperty(Constants.Configuration.FILE_SIZE_THRESHOLD ,
> "4");
>
> but with these lines, the client blocks immediately when trying to
> invoke any operation of the service (not only the one involving the file
> transfer..).
>
> Any idea?
>
> Thanks
>
>
> On 4/18/07, Masin, Valerie <[EMAIL PROTECTED]> wrote:
> > I believe it is setProperty(), not set() on the options object
> >
> > -Original Message-
> > From: Michele Amoretti [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, April 18, 2007 1:24 PM
> > To: axis-user@ws.apache.org
> > Subject: using MTOM in a AXIOM-based WS
> >
> > Hello,
> >
> > I am trying to create a new version of the "quickstartaxiom" sample,
> with the StockQuoteService providing a getPriceFile operation which returns
> a file using MTOM.
> >
> > In the MTOM tutorial unfortunately there are only parts of code (I
> cannot find a complete example in axis2-1.1.1 - the mtom sample is not
> based on AXIOM) thus I had to write the other parts, but since I have some
> problems in invoking the service I think I have made a mistake somewhere.
> >
> >
> > My new ***AXIOMClient*** should set
> >
> > options.set(Constants.Configuration.ENABLE_MTOM,
> > Constants.VALUE_TRUE);
> >
> > as explained in the tutorial, but the Options class has no "set"
> > method and I cannot find the right one..
> >
> > Btw, I added to the client the following method:
> >
> >public static OMElement getPriceFilePayload(String priceFileName) {
> > OMFactory fac = OMAbstractFactory.getOMFactory();
> > OMNamespace omNs = fac.createOMNamespace(
> >
> > "http://quickstart.samples/xsd";, "tns");
> >
> > OMElement method = fac.createOMElement("getPriceFile", omNs);
> > OMElement value = fac.createOMElement("priceFileName", omNs);
> &g

Re: using MTOM in a AXIOM-based WS

2007-04-20 Thread Michele Amoretti

No, I tried this but the problem persists: only 24KB of the file are
transferred from the service to the client. :(

Michele

On 4/19/07, Masin, Valerie <[EMAIL PROTECTED]> wrote:


A colleague had this problem (when using Sun's webserver) and fixed it by
setting this on the client.
stub._getServiceClient().getOptions().setProperty(
HTTPConstants.CHUNKED,
Constants.VALUE_FALSE);

I don't know if there is a way to say the same thing from the server, or
if it is even necessary. The reason had something to do with whether the
length was being passed. Sorry I am vague but this didn't happen directly to
me so I don't know the exact particulars.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Michele Amoretti
Sent: Thursday, April 19, 2007 8:50 AM
To: axis-user@ws.apache.org
Subject: Re: using MTOM in a AXIOM-based WS

Ok, it is setProperty()

Now I managed to transfer a file from the service to the client, but if I
try to transfer a file > 23963 Bytes, the file is cut.

Should I make some adjustments in axis2.xml, or in Tomcat configuration?

I tried to enable caching both at the server side and at the client side,
as explained in the tutorial:
   options.setProperty(Constants.Configuration.CACHE_ATTACHMENTS,
Constants.VALUE_TRUE);
options.setProperty(Constants.Configuration.ATTACHMENT_TEMP_DIR,
"C://axisTemp");
options.setProperty(Constants.Configuration.FILE_SIZE_THRESHOLD, "4");

but with these lines, the client blocks immediately when trying to invoke
any operation of the service (not only the one involving the file
transfer..).

Any idea?

Thanks


On 4/18/07, Masin, Valerie <[EMAIL PROTECTED]> wrote:
> I believe it is setProperty(), not set() on the options object
>
> -Original Message-
> From: Michele Amoretti [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, April 18, 2007 1:24 PM
> To: axis-user@ws.apache.org
> Subject: using MTOM in a AXIOM-based WS
>
> Hello,
>
> I am trying to create a new version of the "quickstartaxiom" sample,
with the StockQuoteService providing a getPriceFile operation which returns
a file using MTOM.
>
> In the MTOM tutorial unfortunately there are only parts of code (I
cannot find a complete example in axis2-1.1.1 - the mtom sample is not
based on AXIOM) thus I had to write the other parts, but since I have some
problems in invoking the service I think I have made a mistake somewhere.
>
>
> My new ***AXIOMClient*** should set
>
> options.set(Constants.Configuration.ENABLE_MTOM,
> Constants.VALUE_TRUE);
>
> as explained in the tutorial, but the Options class has no "set"
> method and I cannot find the right one..
>
> Btw, I added to the client the following method:
>
>public static OMElement getPriceFilePayload(String priceFileName) {
> OMFactory fac = OMAbstractFactory.getOMFactory();
> OMNamespace omNs = fac.createOMNamespace(
>
> "http://quickstart.samples/xsd";, "tns");
>
> OMElement method = fac.createOMElement("getPriceFile", omNs);
> OMElement value = fac.createOMElement("priceFileName", omNs);
> value.addChild(fac.createOMText(value, priceFileName));
> method.addChild(value);
> return method;
> }
>
> and in the main() method of the client I added the following part, for
getFilePrice invocation:
>
> OMElement getPriceFilePayload = getPriceFilePayload("
prova.txt"); ...
> result = sender.sendReceive(getPriceFilePayload);
> OMElement ele = result.getFirstElement();
> OMText binaryNode = (OMText) ele.getFirstOMChild();
> DataHandler actualDH = (DataHandler)
binaryNode.getDataHandler();
> File file = new File("prova.txt");
> FileOutputStream fileOutputStream = new
FileOutputStream(file);
> actualDH.writeTo(fileOutputStream);
> fileOutputStream.flush();
> fileOutputStream.close();
>
>
>
> In the ***StockQuoteService*** the getPriceFile method is implemented as
follows:
>
>
>  public OMElement getPriceFile(OMElement element) throws
XMLStreamException {
> element.build();
> element.detach();
>
> OMElement fileNameElement = element.getFirstElement();
> String fileName = fileNameElement.getText();
>
> System.out.println("fileName = " + fileName);
>
> OMFactory fac = OMAbstractFactory.getOMFactory();
> OMNamespace omNs =
> fac.createOMNamespace("http://quickstart.samples/xsd";,
"ns");
> OMElement fileElement = fac.createOMElement("file", 

Re: using MTOM in a AXIOM-based WS

2007-04-19 Thread Michele Amoretti

Ok, it is setProperty()

Now I managed to transfer a file from the service to the client, but
if I try to transfer a file > 23963 Bytes, the file is cut.

Should I make some adjustments in axis2.xml, or in Tomcat configuration?

I tried to enable caching both at the server side and at the client
side, as explained in the tutorial:
  
options.setProperty(Constants.Configuration.CACHE_ATTACHMENTS,Constants.VALUE_TRUE);
options.setProperty(Constants.Configuration.ATTACHMENT_TEMP_DIR,
"C://axisTemp");
options.setProperty(Constants.Configuration.FILE_SIZE_THRESHOLD, "4");

but with these lines, the client blocks immediately when trying to
invoke any operation of the service (not only the one involving the
file transfer..).

Any idea?

Thanks


On 4/18/07, Masin, Valerie <[EMAIL PROTECTED]> wrote:

I believe it is setProperty(), not set() on the options object

-Original Message-
From: Michele Amoretti [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 18, 2007 1:24 PM
To: axis-user@ws.apache.org
Subject: using MTOM in a AXIOM-based WS

Hello,

I am trying to create a new version of the "quickstartaxiom" sample, with the 
StockQuoteService providing a getPriceFile operation which returns a file using MTOM.

In the MTOM tutorial unfortunately there are only parts of code (I cannot find 
a complete example in axis2-1.1.1 - the mtom sample is not based on AXIOM) thus 
I had to write the other parts, but since I have some problems in invoking the 
service I think I have made a mistake somewhere.


My new ***AXIOMClient*** should set

options.set(Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);

as explained in the tutorial, but the Options class has no "set"
method and I cannot find the right one..

Btw, I added to the client the following method:

   public static OMElement getPriceFilePayload(String priceFileName) {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(

"http://quickstart.samples/xsd";, "tns");

OMElement method = fac.createOMElement("getPriceFile", omNs);
OMElement value = fac.createOMElement("priceFileName", omNs);
value.addChild(fac.createOMText(value, priceFileName));
method.addChild(value);
return method;
}

and in the main() method of the client I added the following part, for 
getFilePrice invocation:

OMElement getPriceFilePayload = getPriceFilePayload("prova.txt"); 
...
result = sender.sendReceive(getPriceFilePayload);
OMElement ele = result.getFirstElement();
OMText binaryNode = (OMText) ele.getFirstOMChild();
DataHandler actualDH = (DataHandler) binaryNode.getDataHandler();
File file = new File("prova.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
actualDH.writeTo(fileOutputStream);
fileOutputStream.flush();
fileOutputStream.close();



In the ***StockQuoteService*** the getPriceFile method is implemented as 
follows:


 public OMElement getPriceFile(OMElement element) throws XMLStreamException {
element.build();
element.detach();

OMElement fileNameElement = element.getFirstElement();
String fileName = fileNameElement.getText();

System.out.println("fileName = " + fileName);

OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs =
fac.createOMNamespace("http://quickstart.samples/xsd";, "ns");
OMElement fileElement = fac.createOMElement("file", omNs);

FileDataSource dataSource =
new FileDataSource(fileName);

DataHandler dataHandler = new DataHandler(dataSource);

// create an OMText node with the above DataHandler and set optimized 
to true
OMText textData = fac.createOMText(dataHandler, true);

fileElement.addChild(textData);

OMElement method = fac.createOMElement("getPriceFileResponse", omNs);
OMElement value = fac.createOMElement("priceFile", omNs);
value.addChild(textData);
method.addChild(value);

return method;
}


Is this ok? Where should I store the "prova.txt" file in the server?
In the same folder in which I put the *.aar file?

I attach to this mail the wsdl of the service, and the configuration file.


I am using Tomcat as servlet engine, and the logs are clean at the server side.

At the client side the error message is:

[java] org.apache.axiom.om.OMException: Referenced Attachment not found in 
the MIME Message.
ContentID:1.urn:uuid:[EMAIL PROTECTED]
 [java] at 
org.apache.axiom.soap.impl.builder.MTOMStAXSOAPModelBuilder.getDataHandler(MTOMStAXSOAPModelBuilder.java:107)
 [java] at 
org.apache.axiom.om.impl.llom.OMTextIm

Re: using MTOM in a AXIOM-based WS

2007-04-19 Thread Michele Amoretti

Thank you, please read the comments below:

On 4/19/07, Thilina Gunarathne <[EMAIL PROTECTED]> wrote:

Hi,

> In the MTOM tutorial unfortunately there are only parts of code (I
> cannot find a complete example in axis2-1.1.1 - the mtom sample is not
> based on AXIOM)
You can find a rather complicated deprecated MTOM Sample based on
Axiom in here[1].


Ok I will study this.


> options.set(Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
As Valerie mentioned this should be setProperty...


Ok



But AFAIKS you are trying to return an attachment from a server.. For
that you need to enable MTOM in the server side by adding the
following parameter to your axis2.xml or to the service.xml..
true



Yes I did it!


> Is this ok? Where should I store the "prova.txt" file in the server?
You can try giving an absolute path...


Ok



Please use the TCPMON[2] to capture your messages and check whether
the attachment is attached as a MIME part.

Thanks,
Thilina



I have question about the WSDL for the MTOM-based service... For the
operation which has a parameter which is a binary file, which type
should I declare for the parameter? string?

In my enhanced StockQuoteservice.wsdl (which has a getPriceFile method
which receives a file name as input and returns a priceFile as
outpput), I wrote:


http://www.w3.org/2001/XMLSchema";
attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://quickstart.samples/xsd";>
















Is this correct?

Thank you very much




[1]http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/deprecated/mtomsample/
[2]ws.apache.org/commons/tcpmon
--
Thilina Gunarathne  -  http://www.wso2.com - http://thilinag.blogspot.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Michele Amoretti, Ph.D.
Distributed Systems Group
Dipartimento di Ingegneria dell'Informazione
Università degli Studi di Parma
http://www.ce.unipr.it/amoretti

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



using MTOM in a AXIOM-based WS

2007-04-18 Thread Michele Amoretti
he.tools.ant.Project.executeSortedTargets(Project.java:1216)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
[java] at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
[java] at 
org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
[java] at 
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
[java] at 
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)


Thank you very much!

--
Michele Amoretti, Ph.D.
Distributed Systems Group
Dipartimento di Ingegneria dell'Informazione
Università degli Studi di Parma
http://www.ce.unipr.it/amoretti

http://quickstart.samples/"; 
	xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
	xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
	xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
	xmlns:ns="http://quickstart.samples/xsd"; 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
	targetNamespace="http://quickstart.samples/";>
	

	http://www.w3.org/2001/XMLSchema"; attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://quickstart.samples/xsd";>
		
			

	

			
		
		
			

	

			
		
		
			

	

			
		
		
			

	

			
		
		
			

	
	

			
		
	



	


	


	


	


	



	
		
		
	
	
		
		
	
	
		
	



	http://schemas.xmlsoap.org/soap/http"; style="document" />
	
		
		
			http://quickstart.samples/"; />
		
		
			http://quickstart.samples/"; />
		
	
	
		
		
			http://quickstart.samples/"; />
		
		
			http://quickstart.samples/"; />
		
	
	
		
		
			http://quickstart.samples/"; />
		
	



	http://schemas.xmlsoap.org/soap/http"; style="document" />
	
		
		
			http://quickstart.samples/"; />
		
		
			http://quickstart.samples/"; />
		
	
	
		
		
			http://quickstart.samples/"; />
		
		
			http://quickstart.samples/"; />
		
	
	
		
		
			http://quickstart.samples/"; />
		
	



	
		http://localhost:8080/axis2/services/StockQuoteService"; />
	
	
		http://localhost:8080/axis2/services/StockQuoteService"; />
	





Stock Quote Service










samples.quickstart.service.axiom.StockQuoteService

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]