Exception in thread "main" AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode: 
 faultString: No operation name specified!
 faultActor: 
 faultNode: 
 faultDetail: 
{http://xml.apache.org/axis/}stackTrace:No operation name specified!
at org.apache.axis.client.Call.invoke(Call.java:1809)
at org.apache.ws.test.Test.main(Test.java:33) {http://xml.apache.org/axis/}hostname:solargiant-PCNo operation name specified!
at org.apache.axis.client.Call.invoke(Call.java:1809)
at org.apache.ws.test.Test.main(Test.java:33)

解决方案 »

  1.   

    谢谢您!我刚刚接触webservice,好多问题耶 
      

  2.   

    /***
     * 定义一个客户端测试类GbmsService,用于测试WebService是否发布成功
     * */
    public class GbmsService {     private static final Log log = LogFactory.getLog(GbmsService.class);  
        private static final String GBMS_SERVICE_ENDPOINT = "http://localhost:8080/bpm/services/GBMSService";  
      

        public static void main(String[] args) 
        {  
         GbmsService gs= new GbmsService();
         gs.callnewProcessInstance();
         /*gs.callprocManTaskFirst();
         gs.callprocManTaskSecond();*/
            
        }  
     
        /***
         * 定义客户端调用方法callnewProcessInstance
         * */
        public void callnewProcessInstance()
        {  
            try {  
             Service service = new Service();  
             Call call = (Call) service.createCall();  
             call.setTargetEndpointAddress(new java.net.URL(GBMS_SERVICE_ENDPOINT));  
             call.setOperationName(new QName("http://webservice.sinosoft.com/","newProcessInstance"));  
             call.addParameter("optionPerson", XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);
             call.addParameter("wftemplate", XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);
             call.addParameter("grtLetterNum", XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);
             call.setReturnType(org.apache.axis.Constants.XSD_STRING); 
             try {  
                     String ret = (String) call.invoke(new Object[] {"Stephen","Process","00121212"});  
                     System.out.println("The return value is:" + ret);  
                     return;  
                 } catch (IOException e) 
                 {  
                 e.printStackTrace();  
                 }  
             } catch (MalformedURLException e)
             {  
             e.printStackTrace();  
             } catch (ServiceException e)
             {  
             e.printStackTrace();  
             }  
             log.error("call newProcessInstance service error!");  
       }  
        
      

  3.   

    上面是客户端执行的代码  这是错误log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
    log4j:WARN Please initialize the log4j system properly.
    AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
     faultSubcode: 
     faultString: The SERVICE_OBJECT_SUPPLIER parameter is not specified.
     faultActor: 
     faultNode: 
     faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:The SERVICE_OBJECT_SUPPLIER parameter is not specified.
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    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:435)
    at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at com.bankht.gbms.test.GbmsService.callnewProcessInstance(GbmsService.java:48)
    at com.bankht.gbms.test.GbmsService.main(GbmsService.java:27) {http://xml.apache.org/axis/}hostname:solargiant-PCThe SERVICE_OBJECT_SUPPLIER parameter is not specified.
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    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:435)
    at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at com.bankht.gbms.test.GbmsService.callnewProcessInstance(GbmsService.java:48)
    at com.bankht.gbms.test.GbmsService.main(GbmsService.java:27)谢谢您
      

  4.   

    faultString: The SERVICE_OBJECT_SUPPLIER parameter is not specified.  说你参数没指定,你把Service里面的代码贴出来看下 
      

  5.   

    public class GBMSService 
    {
    /***
     * 开始一个新的GBMS流程实例,并且创建开始节点的任务,设置相关变量,传输上下文参数 
     * */
    public void newProcessInstance(String optionPerson, String wftemplate,String grtLetterNum) throws Exception
    {
    JbpmContext jc=JbpmConfiguration.getInstance().createJbpmContext();
    //设置当前登陆用户
    jc.setActorId(optionPerson);
    //获取GBMS流程模板
    ProcessDefinition pd = jc.getGraphSession().findLatestProcessDefinition(wftemplate);
    //
    ProcessInstance pi = pd.createProcessInstance();
    //
    ContextInstance ci = pi.getContextInstance();
    //设置提交人
    ci.setVariable(optionPerson, optionPerson);
    //创建开始节点的TaskInstance
    TaskInstance ti = pi.getTaskMgmtInstance().createStartTaskInstance();
    //向任务实例中写入变量
    ti.setVariable("title", "title");
    ti.setVariable("type", "type");
    ti.setVariable("re", "re");
    ti.setVariable("grtLetterNum", grtLetterNum);

    //结束任务实例
    ti.end();
    }这个是service的代码 谢谢您
      

  6.   

    call.setTargetEndpointAddress(new java.net.URL(GBMS_SERVICE_ENDPOINT));   
    改成call.setTargetEndpointAddress(GBMS_SERVICE_ENDPOINT); 试试
      

  7.   

    不行又报这个错误了
    AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
     faultSubcode: 
     faultString: The SERVICE_OBJECT_SUPPLIER parameter is not specified.
     faultActor: 
     faultNode: 
     faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:The SERVICE_OBJECT_SUPPLIER parameter is not specified.
      

  8.   

    services.xml 配置了这个吗
    <parameter name="ServiceObjectSupplier"> org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
    </parameter>
      

  9.   

    call.addParameter("optionPerson", XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);
    你把几个addParameter全换成这种形式看下 
    call.addParameter(new QName("http://webservice.sinosoft.com/", "optionPerson"), XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);
      

  10.   

    还是AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
     faultSubcode: 
     faultString: The SERVICE_OBJECT_SUPPLIER parameter is not specified.
     faultActor: 
     faultNode: 
     faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:The SERVICE_OBJECT_SUPPLIER parameter is not specified.这个错误
     public static void main(String[] args) 
        {  
         GbmsService gs= new GbmsService();
         gs.callnewProcessInstance();----在这里提示错误
         /*gs.callprocManTaskFirst();
         gs.callprocManTaskSecond();*/
            
        }    public void callnewProcessInstance()
        {  
            try {  
             //
             Service service = new Service();  
             Call call = (Call) service.createCall();  
             call.setTargetEndpointAddress(new java.net.URL(GBMS_SERVICE_ENDPOINT));  
             call.setOperationName(new QName("http://webservice.sinosoft.com/","newProcessInstance"));  
             call.addParameter(new QName("http://webservice.sinosoft.com/","optionPerson"), XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);
             call.addParameter(new QName("http://webservice.sinosoft.com/","wftemplate"), XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);
             call.addParameter(new QName("http://webservice.sinosoft.com/","grtLetterNum"), XMLType.SOAP_STRING, javax.xml.rpc.ParameterMode.IN);
             call.setReturnType(org.apache.axis.Constants.XSD_STRING); 
             try {  
                     String ret = (String) call.invoke(new Object[] {"Stephen","Process","00121212"});  -------这里提示出错
                     System.out.println("The return value is:" + ret);  
                     return;  
                 } catch (IOException e) 
                 {  
                 e.printStackTrace();  
                 }  
             } catch (MalformedURLException e)
             {  
             e.printStackTrace();  
             } catch (ServiceException e)
             {  
             e.printStackTrace();  
             }  
             log.error("call newProcessInstance service error!");  
       }  
      

  11.   

    问题已经解决  是services.xml配置的问题  谢谢大家了!