[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Condor-users] Re: Condor 6.7.7 Webservices: Method 'beginTransaction' not implemented



You are talking to the Collector (on port 9618) not the Schedd. You can query the Collector for a Schedd by using the constraint "HasSOAPInterface=?=TRUE" and extracting the MyAddress attribute. Or, I believe you can force the Schedd to start on a specific port by adding "SCHEDD_ARGS=-p 1134" to your configuration file.

Best,


matt

On May 31, 2005, at 12:21 PM, Garry Smith wrote:

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 ----------