CMDBuild Forum

Webservice: The given SOAPAction http://sopar.services.cmdbuild.org/Private/getCard does not match an operation

Salve, ho realizzato un client per comunicare con i servizi esposti dal WebService di CMDBuild, ma quando vado ad effettuare una chiamata per ottenere il nome di una scheda, mi viene restituito il seguente errore:

 

org.apache.axis2.AxisFault: The given SOAPAction http://soap.services.cmdbuild.org/Private/getCard does not match an operation.

at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)

at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)

at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)

at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)

at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)

at org.modbus.stub.$Proxy61ServiceStub.getCard($Proxy61ServiceStub.java:3407)

at org.modbus.stub.Client.main(Client.java:69)

 
Vi posto il sorgente:
 
GetCard card = new GetCard();
card.setClassName("Pippo");
GetCardE cardE = new GetCardE();
cardE.setGetCard(card);
GetCardResponseE responseE = stub.getCard(cardE);
GetCardResponse response = responseE.getGetCardResponse();
System.out.println("Nome della Card: "+response.get_return().getClassName());
 
 
Purtroppo ho esattamente lo stesso analogo problema.
Chi può darmi delle indicazioni in merito?
 
grazie
Gianni
 
 
Previously Domenico wrote:

Salve, ho realizzato un client per comunicare con i servizi esposti dal WebService di CMDBuild, ma quando vado ad effettuare una chiamata per ottenere il nome di una scheda, mi viene restituito il seguente errore:

 

org.apache.axis2.AxisFault: The given SOAPAction http://soap.services.cmdbuild.org/Private/getCard does not match an operation.

at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)

at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)

at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)

at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)

at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)

at org.modbus.stub.$Proxy61ServiceStub.getCard($Proxy61ServiceStub.java:3407)

at org.modbus.stub.Client.main(Client.java:69)

 
Vi posto il sorgente:
 
GetCard card = new GetCard();
card.setClassName("Pippo");
GetCardE cardE = new GetCardE();
cardE.setGetCard(card);
GetCardResponseE responseE = stub.getCard(cardE);
GetCardResponse response = responseE.getGetCardResponse();
System.out.println("Nome della Card: "+response.get_return().getClassName());
 
 

 

Ciao Gianni io ho risolto poi, abbiamo provato a reinstallare CMDBuild da capo e funziona, probabilmente era un problema di errata preconfigurazione dell'istanza. 
 
Ciao
 
Previously Gianni wrote:
Purtroppo ho esattamente lo stesso analogo problema.
Chi può darmi delle indicazioni in merito?
 
grazie
Gianni
 
 
Previously Domenico wrote:

Salve, ho realizzato un client per comunicare con i servizi esposti dal WebService di CMDBuild, ma quando vado ad effettuare una chiamata per ottenere il nome di una scheda, mi viene restituito il seguente errore:

 

org.apache.axis2.AxisFault: The given SOAPAction http://soap.services.cmdbuild.org/Private/getCard does not match an operation.

at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)

at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)

at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)

at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)

at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)

at org.modbus.stub.$Proxy61ServiceStub.getCard($Proxy61ServiceStub.java:3407)

at org.modbus.stub.Client.main(Client.java:69)

 
Vi posto il sorgente:
 
GetCard card = new GetCard();
card.setClassName("Pippo");
GetCardE cardE = new GetCardE();
cardE.setGetCard(card);
GetCardResponseE responseE = stub.getCard(cardE);
GetCardResponse response = responseE.getGetCardResponse();
System.out.println("Nome della Card: "+response.get_return().getClassName());
 
 

 

 

Ciao. purtroppo io non ho risolto, nemmeno installando nuovamente cmdbuild.

 

Posto il codice di test che ho usato (è solo un banale esempio, ma se non funziona non posso fare altro), non so forse commetto qualche errore. Potreste essere così gentili da dirmi dove sbaglio, e al limite postare un esempio che avete usato?

import java.rmi.RemoteException;
import com.sun.proxy.$Proxy61ServiceStub;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.apache.neethi.PolicyEngine;
import org.apache.rampart.RampartMessageData;
import org.cmdbuild.services.soap.*;
import java.io.File;
public class Test{

 public static void main(String[] args)  throws RemoteException {  
  
  File file = new File(""); 
  String path = file.getAbsolutePath(); 
  ConfigurationContext configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem( 
                  path + "/lib/repository", null); 
  $Proxy61ServiceStub stub = new $Proxy61ServiceStub(configContext);  
  ServiceClient client = new ServiceClient();
  client = stub._getServiceClient();
  client.engageModule("rampart");
  Options options = stub._getServiceClient().getOptions(); 
  options.setUserName("admin"); 
  options.setPassword("admin"); 
  StAXOMBuilder builder  = null;
  try {
   
          builder = new StAXOMBuilder(  path +"/lib/repository/conf/policy.xml");
      } catch (Exception ex)
      {
        System.out.println(" Exception--->"+ex);
      }
               
  options.setProperty(RampartMessageData.KEY_RAMPART_POLICY, 
  PolicyEngine.getPolicy(builder.getDocumentElement())); 
  GetCardList card = new GetCardList();
  card.setClassName("AirFilter");
  GetCardListE cardE = new GetCardListE();
  cardE.setGetCardList(card);
  GetCardListResponseE res = stub.getCardList(cardE);
  res.getGetCardListResponse();
  System.out.println( res.getGetCardListResponse().get_return());
  
 }

}

 

Grazie mille

Gianni

 

 

 

 

 

Previously Domenico wrote:

Ciao Gianni io ho risolto poi, abbiamo provato a reinstallare CMDBuild da capo e funziona, probabilmente era un problema di errata preconfigurazione dell'istanza. 
 
Ciao
 
Previously Gianni wrote:
Purtroppo ho esattamente lo stesso analogo problema.
Chi può darmi delle indicazioni in merito?
 
grazie
Gianni
 
 
Previously Domenico wrote:

Salve, ho realizzato un client per comunicare con i servizi esposti dal WebService di CMDBuild, ma quando vado ad effettuare una chiamata per ottenere il nome di una scheda, mi viene restituito il seguente errore:

 

org.apache.axis2.AxisFault: The given SOAPAction http://soap.services.cmdbuild.org/Private/getCard does not match an operation.

at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)

at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)

at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)

at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)

at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)

at org.modbus.stub.$Proxy61ServiceStub.getCard($Proxy61ServiceStub.java:3407)

at org.modbus.stub.Client.main(Client.java:69)

 
Vi posto il sorgente:
 
GetCard card = new GetCard();
card.setClassName("Pippo");
GetCardE cardE = new GetCardE();
cardE.setGetCard(card);
GetCardResponseE responseE = stub.getCard(cardE);
GetCardResponse response = responseE.getGetCardResponse();
System.out.println("Nome della Card: "+response.get_return().getClassName());
 
 

 

 

 

If you didn’t figure it out yet you can try set some option to not put “action” into the http header

.

 

Something like that:

 

stub._getServiceClient().getOptions().setProperty(org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION, true);

 

Sorry that my post is in english.

It worked!! Thanks!
 
 
Previously Mateusz wrote:
If you didn't figure it out yet you can try set some option to not put "action" into the http header

.

 

Something like that:

 

stub._getServiceClient().getOptions().setProperty(org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION, true);

 

Sorry that my post is in english.