WebServiceException: метод beaInvoke отображается как WebMethod

Ниже приведен фрагмент кода.. который должен динамически вызывать WSDL на другом сервере, но в момент вызова

(int i = webServiceModuleService.notificationRecieved("xyz");)

возвращенное исключение :(

примечание: в моем сервисе нет метода beaInvoke: |

    public static void main(String[] args) {

    java.sql.Connection conn = null;
    InitialContext context;

    try {

        context = new InitialContext();

        DataSource ds = (DataSource) context.lookup("jdbc/dataSourceDS");

        conn = ds.getConnection();
    } catch (SQLException e) {
    } catch (NamingException e) {
    }
    QueryRunner run = new QueryRunner();
    SampleResultSetHandler h = new SampleResultSetHandler();
    Object[] res = null;

    try {
        res = run.query(conn, "select SERVER_IP,SERVER_PORT from SERVER where UPPER(SERVER_NAME)=? ", h, "test");
    } catch (SQLException e) {
    }

    String ip = res[0].toString();
    String port = res[1].toString();

    String endpointURL = "http://" + ip + ":" + port + "/context-root/WebServiceModuleService";

    try {

        URL tmpURL = new URL(endpointURL + "?wsdl");
        System.err.println(tmpURL);

        WebServiceModuleService_Service webServiceModuleService_Service = new WebServiceModuleService_Service(tmpURL,
                                                                                                              new QName("/org/parsisys/test/mina/model/services/common/",
                                                                                                                        "WebServiceModuleService"));
        WebServiceModuleService webServiceModuleService = null;
        webServiceModuleService = webServiceModuleService_Service.getWebServiceModuleServiceSoapHttpPort();

        BindingProvider bp = (BindingProvider) webServiceModuleService;
        bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);

        // Configure credential providers
        Map<String, Object> requestContext = ((BindingProvider) webServiceModuleService).getRequestContext();

        try {
            setPortCredentialProviderList(requestContext);
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        //Call WebService ... ==> Exception :(
        int i = webServiceModuleService.notificationRecieved("xyz");

        //logp("successfully call the webservice for [ip&port:" + ip + ":" + port + "] [transid : " +transid + "]");

    } catch (Exception e) {
        //log
        //TODO: Clean This
        System.err.println(e.getMessage());
        e.printStackTrace();
        return;
    }
}

@Generated("Oracle JDeveloper")
public static void setPortCredentialProviderList(Map<String, Object> requestContext) throws Exception {
    // TODO - Provide the required credential values
    String username = "";
    String password = "";
    String clientKeyStore = "";
    String clientKeyStorePassword = "";
    String clientKeyAlias = "";
    String clientKeyPassword = "";
    String serverKeyStore = "";
    String serverKeyStorePassword = "";
    String serverKeyAlias = "";
    List<CredentialProvider> credList = new ArrayList<CredentialProvider>();

    // Add the necessary credential providers to the list

    // Code commented out due to empty username/password value found in the credential.
    // credList.add(getUNTCredentialProvider(username, password));

    // Code commented out due to empty server keystore value found in the credential.
    // credList.add(getBSTCredentialProvider(clientKeyStore, clientKeyStorePassword, clientKeyAlias, clientKeyPassword, serverKeyStore, serverKeyStorePassword, serverKeyAlias, requestContext));

    credList.add(getSAMLTrustCredentialProvider());

    requestContext.put(WSSecurityContext.CREDENTIAL_PROVIDER_LIST, credList);
}

@Generated("Oracle JDeveloper")
public static CredentialProvider getSAMLTrustCredentialProvider() {
    return new SAMLTrustCredentialProvider();
}

Daynamic вызов веб-сервиса генерируется с помощью jdeveloper, и он работает не в клиентском тестере, а в моем модуле, когда я вызываю исключение возврата веб-сервиса:/

StackTrace: ↓

пожалуйста, помогите мне. спасибо

Для меня это происходит, когда WSDL не согласуется с сгенерированными классами.


person Namira    schedule 18.12.2018    source источник


Ответы (1)


Метод beaInvoke представлен как WebMethod, но нет соответствующей операции wsdl с именем {/org/parsisys/test/mina/model/services/common/}beaInvoke в wsdl:portType{/org/parsisys/test/mina/model. /services/common/}WebServiceModuleService javax.xml.ws.WebServiceException: метод beaInvoke представлен как WebMethod, но нет соответствующей операции wsdl с именем {/org/parsisys/test/mina/model/services/common/}beaInvoke в wsdl:portType{/org/parsisys/test/mina/model/services/common/}WebServiceModuleService по адресу com.sun.xml.ws.model.JavaMethodImpl.freeze(JavaMethodImpl.java:382) по адресу com.sun.xml. ws.model.AbstractSEIModelImpl.freeze(AbstractSEIModelImpl.java:124) в com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:336) в com.sun.xml.ws.db.DatabindingImpl.(DatabindingImpl .java:99) в com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:74) в com.sun.xml.ws.db.DatabindingProviderImpl.creat e(DatabindingProviderImpl.java:58) в com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime(DatabindingFactoryImpl.java:120) в com.sun.xml.ws.client.WSServiceDelegate.buildRuntimeModel(WSServiceDelegate.java:882) в com.sun.xml.ws.client.WSServiceDelegate.createSEIPortInfo(WSServiceDelegate.java:899) в com.sun.xml.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:862) в com.sun.xml.ws .client.WSServiceDelegate.getPort(WSServiceDelegate.java:451) в weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegateImpl.internalGetPort(WLSProvider.java:1698) в weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegateImpl$PortClientInstanceFactory.createClientInstance (WLSProvider.java:1769) по адресу weblogic.wsee.jaxws.spi.ClientInstancePool.takeSimpleClientInstance(ClientInstancePool.java:389) по адресу weblogic.wsee.jaxws.spi.ClientInstancePool.take(ClientInstancePool.java:243) по адресу weblogic.wsee. jaxws.spi.WLSProvider$ServiceDelegateImpl$3.apply(WLSPr ovider.java:1555) в weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegateImpl$3.apply(WLSProvider.java:1517) в weblogic.wsee.jaxws.spi.ClientIdentityRegistry.initClientIdentityFeatureAndCall(ClientIdentityRegistry.java:1456) в weblogic. wsee.jaxws.spi.WLSProvider$ServiceDelegateImpl.getPort(WLSProvider.java:1513) в com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:420) в weblogic.wsee.jaxws.spi.WLSProvider$ ServiceDelegateImpl.getPort(WLSProvider.java:1477) в com.sun.xml.ws.client. WSServiceDelegate.getPort(WSServiceDelegate.java:402) в javax.xml.ws.Service.getPort(Service.java:119) в org.parsisys.test.mina.model.service.WebServiceModuleService_Service.beaInvokeSuper(WebServiceModuleService_Service.java) в org .parsisys.test.mina.model.service.WebServiceModuleService_Service$beaVersion0_31.getWebServiceModuleServiceSoapHttpPort(WebServiceModuleService_Service.java:51) в org.parsisys.test.mina.model.service.WebServiceModuleService_Service.getWebServiceModuleServiceSoapHttpPort(WebServiceModuleService_Service.java) в org.parsisys.test .mina.files.notification.queue.NotificationQueueRecieved$beaVersion0_11.onMessage(NotificationQueueRecieved.java:330) в org.parsisys.test.mina.files.notification.queue.NotificationQueueRecieved.onMessage(NotificationQueueRecieved.java) в weblogic.jms.client .JMSSession.onMessage(JMSSession.java:5107) в weblogic.jms.client.JMSSession.execute(JMSSession.java:4775) в weblogic.jm s.client.JMSSession.executeMessage(JMSSession.java:4170) в weblogic.jms.client.JMSSession.access$000(JMSSession.java:127) в weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5627) ) в weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:666) в weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348) в weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333) в weblogic .work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54) в weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) в weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640) в weblogic.work.ExecuteThread. выполнить(ExecuteThread.java:406) в weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

person WillieT    schedule 10.12.2019