All right then, now we have confirmed that your service(s) are deployed and
we can focus on the client piece.
Let's start with a simple client and get that to
work. Later you can add to it. Also, later on I'll walk you
through how to set up TCPmon. Remember, until you have gone through this
a few times eliminate what you don't
know so you can focus on one thing at a
time.
Here is a simple client for you to try:
package com.sample.www.directsample;
import org.apache.axis.client.Call;
import
org.apache.axis.client.Service;
import
org.apache.axis.encoding.XMLType;
import
javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import java.net.*;
public class
ReportHandlerClient
{
public static void main( String[] args ) throws
Exception
{
// URL of the web service
String url =
""http://127.0.0.1:7001/axis/services/">http://127.0.0.1:7001/axis/services/ReportHandlerServicePort
";
/* Create an instance of the
Call Object */
Service service = new
Service();
Call call = (Call)
service.createCall();
call.setTargetEndpointAddress( new URL( url ));
System.out.println();
System.out.println( "Connecting to: " + url
);
System.out.println();
// Set parameter definitions
in the call object
// Fill this in after you're sure
that you can locate and connect to the service.
// Set the definition of the
return type
// Fill this in after you're sure
that you can locate and connect to the service.
// Name of the method to
invoke
// Fill this in after you're sure that you can locate and
connect to the service
}
}
}
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June
15, 2004 1:32 PM
To: [EMAIL PROTECTED]
Subject: Re: Namespaces
& Clients
I am dealing with the ReportHandlerServicePort for
now and only run a very
simply example through addReport.
And
now... Some Services
AdminService (wsdl)
AdminService
Version
(wsdl)
getVersion
SampleDirectService
(wsdl)
addReport
ReportHandlerServicePort
(wsdl)
addReport
addReports
rmReport
rmReports
In a
message dated 6/15/2004 1:30:41 PM Eastern Standard
Time,
[EMAIL PROTECTED] writes:
Okay, then please post a copy of
the services list. So, we can see what we
are up
against...
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June
15, 2004 1:27 PM
To: [EMAIL PROTECTED]
Subject: Re:
Namespaces & Clients
I was able to figure out why that
was happening. It was a fault on my end,
nothing major. Hopefully you
can help me with the other issue.
James
In a message dated
6/15/2004 1:23:24 PM Eastern Standard Time,
[EMAIL PROTECTED]
writes:
So, when you click on the "View" html tag you get a page back
with the list
of your web services. However, when you go
to
http://localhost:8080/axis/services you don't?
That
is very bizarre...
Try typing http://127.0.0.1:8080/axis/happyaxis.jsp and confirm
that you
have installed AXIS correctly and that it is
running.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June
15, 2004 12:57 PM
To: [EMAIL PROTECTED]
Subject: Re:
Namespaces & Clients
When I go to the address you listed
I do not see a page, however if I go
through http://localhost:8080/axis I can click on Services and see
my service
deployed (And access it's WSDL). Does this mean I have
some work to do yet?
Also, what settings on TCPMon would work for
my purposes. I don't need to
anything complicated, just some ports
that will get my sample working.
Thanks for your continued
help,
James
In a message dated 6/15/2004 12:23:32 PM Eastern
Standard Time,
[EMAIL PROTECTED] writes:
Well, lets take
things one step at a time.
If you type http://localhost:8080/axis/services into a web browser
then you
should see your service(s) deployed.
Please post that
for me, so I can verify that you have actually deployed the
services
correctly. If that fails then there is no sense in going on to
your
client because there is nothing for the client to communicate
with.
In addition, are you running TCPmon now? If so,
TCPMon and TomCat cannot
listen on the same port on the same
workstation. You will have to modify one
or the other to listen
on a different port.
-----Original Message-----
From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June
15, 2004 12:04 PM
To: [EMAIL PROTECTED]
Subject: Re:
Namespaces & Clients
I wanted to avoid posting the code
because it is lengthy and generally deals
with more than one file but
here it is. Thanks for your help. I think when I
run the client it's
attempting to access the net because of the namespace I
chose way
back in the WSDL.
If anybody's would be able to tell me if my
reasoning is correct (Or help me
avoid having to do the entire java
WSDL2Java over for nothing). I want to be
able to run this on the
localhost and use TCPMon to see what's going on. If
you guys could
give me a heads up on what needs to be adjusted to accomplish
that,
that would be wonderful!
package
com.sample.www.directsample;
import
java.net.MalformedURLException;
import java.net.URL;
import
java.rmi.RemoteException;
import java.util.List;
import
javax.xml.namespace.QName;
import javax.xml.rpc.Service;
import
javax.xml.rpc.ServiceException;
import
javax.xml.rpc.ServiceFactory;
import
javax.xml.rpc.handler.HandlerInfo;
import
com.sample.www.directsample.LoggingHandler;
import
com.sample.www.directsample._report;
import
com.sample.www.directsample._response;
public class
ReportHandlerClient
{
static String router = "http://localhost:8080/axis/directsample";
static
String service = "directsampleService.wsdl";
public static
void main(String[] args)
{
try
{
ServiceFactory sf
= ServiceFactory.newInstance();
URL u = new URL(router + "/" +
service);
String url=""http://localhost:8080/axis/services/ReportHandlerService"
target=_blank>http://localhost:8080/axis/services/ReportHandlerService";
QName
serviceName = new
QName("http://www.sample.com/directsample","ReportHandlerService");
Service
s = sf.createService(u,serviceName);
QName portName =
new
QName("http://www.sample.com/directsample","ReportHandlerServicePort");
List
handlerChain =
s.getHandlerRegistry().getHandlerChain(portName);
HandlerInfo hi =
new
HandlerInfo(LoggingHandler.class,null,null);
handlerChain.add(hi);
ReportHandler
h =(ReportHandler)
s.getPort(portName,ReportHandler.class);
_report rpt = new
_report();
rpt.setAccount("1234567");
rpt.setXmlData("Really Really Long
string of GOOD STUFF!");
try {
_response rsp =
h.addReport(rpt);
boolean value =
rsp.isSuccess();
}
catch(Exception
e)
{
e.printStackTrace( );
}
}
catch
(ServiceException se)
{
se.printStackTrace();
}
catch
(MalformedURLException
mue)
{
mue.printStackTrace();
}
}
}
In a message
dated 6/15/2004 11:49:49 AM Eastern Standard
Time,
[EMAIL PROTECTED] writes:
You are going to have to post
the client code. Without the code it is
impossible to tell you
where you are going wrong...
-----Original Message-----
From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June
15, 2004 11:44 AM
To: [EMAIL PROTECTED]
Subject: Namespaces
& Clients
I have successfully deployed a web service with
Axis. I have written a
client which successfully produces the
SOAPEnvelope. Directly under the Envelope's
output is a 404 HTTP
Error listing. It also then echo's the root of the web
page I used as
the namespace.
If I want to run this service on the local host
for now, what do I have to
change to get the Client to execute
successfully?
Thanks for all your generous support,
James
Crosson
[EMAIL PROTECTED]