Karl Beowulph

Ranch Hand
+ Follow
since May 31, 2004
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Karl Beowulph

Alright, my issue (at least) is resolved. The problem was that I didn't have "Aspire" set as an alias for 127.0.0.1 in my /etc/hosts file.
11 years ago
Was anyone able to solve this? I'm stuck at about the same point.

As root, I ran the following:


This gave me the following error:


I've tried changing ports, but the same message keeps appearing. I've also run netstat to confirm that none of the ports are in use.

Looking online, I've found the error listed on Oracle's documentation pages:

org.omg.CORBA.INTERNAL. vmcid: SUN minor code: 208 means Unable to determine local hostname using InetAddress.getLocalHost().getHostName().
The ORB uses InetAddress.getLocalHost().getHostName() to create a reference to the name service for looking for and/or binding references. It also uses InetAddress.getLocalHost().getHostName() on the server side to create remote object references (i.e., IORs) that contain the name/port of the server (rather than a dotted-decimal/port pair).

To avoid the call to getHostName, you can set the following properties (refer to Starting and Stopping ORBD if you are not sure how to do this):

Set com.sun.CORBA.ORBServerHost to the DNS name or dotted-decimal address of the server if the ORB is acting as a server.
Set com.sun.CORBA.ORBInitialHost to the DNS name or dotted-decimal address of the name server.


However, the follow-up documentation doesn't really address this.
11 years ago
Thanks Sathees.

Now on to the next problem, figuring out how to allow Axis2/Sandesha2 to work with long ( > 10 seconds) operations. Once again, this is something that just works with JBossWS (which, regardless of ease-of-use, has its own gotchas).
14 years ago
Solved, more-or-less.

The problem was that the setReplyTo method actually was working, it was, however, being overriden by SandeshaUtil.java (starting at line 1108). This was corrected by disabling the anon URI.

Now the service/client actually works, but not perfectly. I get the right response, but for some reason, about 20% the time, a non-interruptive error is still thrown (I still get the result I want, but there are errors regardless).



The error shown in the JBoss AS output:


With it working I'm content with leaving it as is. Ideally I'd like to figure out why JBoss is not able to process the original "http://docs.oasis-open.org" addressing URL and throwing the 20% WS-RM error, but I don't think I'm going to have the luxury of time to do so.
14 years ago
Getting closer I think. I'm able to have Axis2 generate the following request:



And this almost works; if I change the replyTo address (through TCPMON) to "http://www.w3.org/2005/08/addressing/anonymous" instead of "http://docs.oasis-open.org/ws-rx/wsmc/200702/anonymous" I get a response instead of an error. Unfortunately, I can't figure out how to change the reply-to address within the code. I tried clientOptions.setReplyTo(new EndpointReference("http://www.w3.org/2005/08/addressing/anonymous"));, but that didn't change anything. Any ideas?
14 years ago
Howdy,

Thanks Ivan, but the decision to use Axis2 comes from above me, so no changing that one.

After bit more investigation, it looks like the XML requests being sent to the JBoss AS are different.

JBossWS client request (works)


Axis2 client request (does not work)


So it looks like JBoss AS accepts CreateSequence, but not MakeConnection.
14 years ago
A bit more reading has turned up that JBossWS implements WS-RM 1.1. I've also updated my Sandesha2 to version 1.5 RC1.

I've changed my client accordingly:



I still have errors though. My axis.log reads as such:


Skimming through the console output, I found the following:

14 years ago
This has been giving me more problems then I anticipated...

I have a WS-RM enabled web service up and running in JBoss, the code is as follows:



I am able to connect to it without problem with a JBossWS client.



With my Axis2 client though, things are pretty wonky. For a start, it looks like Sandesha2 [1.3] is not fully compatible with Axis2 [1.5], so I don't know how much of the problem is really a fault of my code vs. incompatibilities. I installed Sandesha2 as outlined, with the exception that I did not change my $AXIS2_HOME/conf/axis2.xml file (it already has RMPhase's in the phase orders).

I built my Axis client as such:


This attempt fails and I get the following in my axis.log


Anyone have any insight as to what I'm doing incorrectly in Axis2?
14 years ago
Hello,

We've recently made a switch from building WS clients in JBossWS to using Axis2. Can anyone point me to a quick guide on building WS-RM clients in Axis2?

I'm aware of the Sandesha2 module for Axis2 which is supposed to handle WS-RM, but the last version is from 2007 and claims compatibility with Axis2 1.3. Is it still useable with later versions?
14 years ago
I finally got it.

I wrote a fairly detailed guide on Google Knol if it's of use to anyone.

http://knol.google.com/k/neil-mcfarlane/creating-your-first-web-services-in-java/
14 years ago
Shame. Unless there's something I'm not seeing, the configuration files are just a subset of the WSDL; seems like a pretty bad design to me to have to duplicate the effort.
14 years ago
Before you dive to deeply into that, are you certain you want to be using JAX-RPC? That project has been deprecated in favour of JAX-WS.
14 years ago
In searching around, the only thing I can see that I'm missing is the creation of WSIT configuration files. Are these absolutely needed when using WS-Policies? Is there no way to get the functionality of them programmatically?

I'd like to avoid editing the XML as much as possible, keeping as many changes as possible at the application level.
14 years ago
Thanks Ivan, it looks like one of the problems it was the policy.

I changed it to the following (which I took directly from an Oracle website):



While I'm getting further my client is still throwing an error in that I'm apparantly not actually using WSRM (below). I've re-run the wsconsume from above, but that doesn't seem to help. Do I need to create a custom JAXB file to have my artificats WSRM compliant?

10:59:32,913 INFO [RMDeploymentAspect] WS-RM invocation handler associated with endpoint http://localhost:8180/myWebService/Reliable
10:59:52,591 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
org.jboss.ws.extensions.wsrm.RMFault: The RM Destination requires the use of WSRM
.
.
.

14 years ago
Hello Bob,

I'm relatively new to web services, so don't quote me 100%, but I'll give my best shot at some of your issues.

1. Is it mandatory to use web server like tomcat to call https webservice?
You need to use a web / application server of some sort to host web services (the service end), but you do not need one to call web services (the client end)

2. Can I import the utility files provided by the web service using wsimport command for https services?
I'm not really certain of what you mean by this. All wsimport does is generate artifacts based on the provided WSDL. Any "utility" required should be either made into a public operation (method) on the WSDL, or used in the back-end of the service and not be required by the user.

3. I got .pfx certificate from client but not sure how to use it further to access https service
To use a certificate, you're going to want to read about Java TrustStore and KeyStore. In a nutshell, the process entails using the keytool program (part of the JDK) to install a certificate into your TrustStore, then setting a bunch of TrustStore / KeyStore system properties within your application prior to making your web service call in order to use them.

4. Is this version "JAX-WS RI 2.1.1 in JDK 6" suit to call https service
JAX-WS is the default (basic) web service implementation that comes with the JDK. There are several others out there, though it shouldn't matter to much which one you use. In my limited experience building clients I've used Axis 1 (now quite outdated) and, more recently, Metro.
14 years ago