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]