Hi Matthew and the Condor team,
Condor 6.7.7. Personal install on Linux.
Web Services interface. Trying to execute a query from a Java
client to Condor
WS (both on the same machine).
Have generated the java stub/skeleton classes from the WSDL
provided with
condor using WSDL2JAVA from AXIS.
Summary of error String:
faultString: Method 'beginTransaction' not implemented: method
name or
namespace not recognized.
See below for details and logs. Please advise..
Thanks in advance.
regards
Garry
Condor_config has the following lines added:
-------------------------------------------------------------
# Web Services functionality added by Garry as per
# http://www.cs.wisc.edu/condor/birdbath
WEB_ROOT_DIR = /home/condor/bin/condor/web
ENABLE_SOAP= TRUE
ENABLE_WEB_SERVER = TRUE
ALLOW_SOAP= */192.168.100.1
NOTE: 192.168.100.1 is the IP address of the machine (chewy)
running both the
Condor daemons and the client.
I have created the condor-home/web directory and inserted
condorCollector.wsdl
condorSchedd.wsdl as stated in the birdbath Website. The wsdl was
copied from
condor_home/lib/webservice.
Client Code (GarrySubmitJob.java) (same as your SubmitJob.java
code):
--------------------------------------------------------------------
--
-------
import condor.*;
import java.io.*;
import java.net.URL;
import java.util.*;
public class GarrySubmitJob
{
public static void main(String[] args)
throws Exception
{
URL scheddLocation = new URL("http://chewy:9618");
CondorScheddLocator scheddLocator = new CondorScheddLocator();
CondorScheddPortType schedd =
scheddLocator.getcondorSchedd(scheddLocation);
String filesToSend[] = {"TestFile"};
SOAPScheddApiHelper.submitJobHelper(schedd, null, -1, -1,
"nobody",
UniverseType.VANILLA, "/bin/cp","-f TestFile Testfile.worked",
"OpSys==\"LINUX\"", null, filesToSend);
}
}
SOAPScheddApiHelper.java
-------------------------------------
Sent to me by Matthew Farrellee on 2005-05-18.
Client Stack trace:
------------------------
java -cp ../lib:.:$AXISCLASSPATH GarrySubmitJob
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: Method 'beginTransaction' not implemented: method
name or
namespace not recognized
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:Method
'beginTransaction' not
implemented: method name or namespace not recognized
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.xerces.parsers.AbstractSAXParser.endElement
(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement
(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse
(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse
(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
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.handlers.soap.MustUnderstandChecker.invoke
(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:
206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2754)
at org.apache.axis.client.Call.invoke(Call.java:2737)
at org.apache.axis.client.Call.invoke(Call.java:2413)
at org.apache.axis.client.Call.invoke(Call.java:2336)
at org.apache.axis.client.Call.invoke(Call.java:1793)
at condor.CondorScheddStub.beginTransaction
(CondorScheddStub.java:641)
at SOAPScheddApiHelper.submitJobHelper
(SOAPScheddApiHelper.java:220)
at GarrySubmitJob.main(GarrySubmitJob.java:20)
{http://xml.apache.org/axis/}hostname:chewy
Method 'beginTransaction' not implemented: method name or namespace
not
recognized
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.xerces.parsers.AbstractSAXParser.endElement
(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement
(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse
(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse
(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
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.handlers.soap.MustUnderstandChecker.invoke
(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:
206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2754)
at org.apache.axis.client.Call.invoke(Call.java:2737)
at org.apache.axis.client.Call.invoke(Call.java:2413)
at org.apache.axis.client.Call.invoke(Call.java:2336)
at org.apache.axis.client.Call.invoke(Call.java:1793)
at condor.CondorScheddStub.beginTransaction
(CondorScheddStub.java:641)
at SOAPScheddApiHelper.submitJobHelper
(SOAPScheddApiHelper.java:220)
at GarrySubmitJob.main(GarrySubmitJob.java:20)
Only two condor logs have timestamps that are later than the
client's
submission. Details below ...
MasterLog (from the time that the query was submitted)
--------------------------------------------------------------------
--
----
5/31 17:48:50 Received HTTP POST connection from
<192.168.100.1:1367>
5/31 17:48:50 About to serve HTTP request...
5/31 17:48:50 Completed servicing HTTP request
5/31 17:49:12 Found ScheddIpAddr
5/31 17:49:12 Got IP = '<192.168.100.1:1335>'
5/31 17:49:12 NegotiatorAd : Inserting ** "< chewy.lan >"
5/31 17:49:12 (Sending 4 ads in response to query)
5/31 17:49:12 Got QUERY_STARTD_PVT_ADS
5/31 17:49:12 (Sending 1 ads in response to query)
5/31 17:49:29 Found StartdIpAddr
5/31 17:49:29 Got IP = '<192.168.100.1:1336>'
NegotiatorLog (from the time of the client request)
--------------------------------------------------------------------
-
5/31 17:49:12 ---------- Started Negotiation Cycle ----------
5/31 17:49:12 Phase 1: Obtaining ads from collector ...
5/31 17:49:12 Getting all public ads ...
5/31 17:49:12 Sorting 4 ads ...
5/31 17:49:12 Getting startd private ads ...
5/31 17:49:12 Got ads: 4 public and 1 private
5/31 17:49:12 Public ads include 0 submitter, 1 startd
5/31 17:49:12 Phase 2: Performing accounting ...
5/31 17:49:12 Phase 3: Sorting submitter ads by priority ...
5/31 17:49:12 Phase 4.1: Negotiating with schedds ...
5/31 17:49:12 ---------- Finished Negotiation Cycle ----------
5/31 17:54:12 ---------- Started Negotiation Cycle ----------
5/31 17:54:12 Phase 1: Obtaining ads from collector ...
5/31 17:54:12 Getting all public ads ...
5/31 17:54:12 Sorting 4 ads ...
5/31 17:54:12 Getting startd private ads ...
5/31 17:54:12 Got ads: 4 public and 1 private
5/31 17:54:12 Public ads include 0 submitter, 1 startd
5/31 17:54:12 Phase 2: Performing accounting ...
5/31 17:54:12 Phase 3: Sorting submitter ads by priority ...
5/31 17:54:12 Phase 4.1: Negotiating with schedds ...
5/31 17:54:12 ---------- Finished Negotiation Cycle ----------