Advanced Call Web Service

Overview

Most SOAP use cases can and should be handled using native Appian features like Integration Objects. This plug-in specifically is suited for handling SOAP services with SOAP and Base64 attachments

Key Features & Functionality

The Advanced Call Web Service provides support for the following:

  • Support for SOAP attachments
  • Support for Base64 attachments
  • Ability to call web services that do not explicitly declare the requirement for WS-Security UsernameToken in the WSDL policy
  • Ability to call web services that use a self-signed SSL certificate
Anonymous
  • v1.5.3 Release Notes
    • Capturing SOAPAFault and return it in responsexml when errorOcurred is true
  • I was in Appian 24.2.245.0, I installed the new hotfix 24.2.425 and it is now ok with this plugin

  • following error happens with version 1.5.1: 

    javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found

    Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl not found by advancedcallwebservice [59]

    2024-08-12 12:56:30,216 [Appian Work Item - 87985 - WorkID 733 - execution02 - process 4502471 - model 4004 : UnattendedJavaActivityRequest] ERROR com.appiancorp.ps.plugin.wss.smartservice.AbstractCallSOAPWebService - Error invoking web service

    javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found

     ¿can you check?

    Thanks

  • following error happens with version 1.5.1: 

    javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found

    Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl not found by advancedcallwebservice [59]

    2024-08-12 12:56:30,216 [Appian Work Item - 87985 - WorkID 733 - execution02 - process 4502471 - model 4004 : UnattendedJavaActivityRequest] ERROR com.appiancorp.ps.plugin.wss.smartservice.AbstractCallSOAPWebService - Error invoking web service

    javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found

     

    found this possible related info:

    https://stackoverflow.com/questions/49107375/getting-java-lang-classnotfoundexception-com-sun-xml-internal-ws-spi-providerim

    ¿can you check?


  • With version 1.4.2 of advancedcallwebservice and Appian 24.2, I had the error :
    Caused by: java.lang.ClassNotFoundException: javax.jws.soap.SOAPBinding$Style not found by advancedcallwebservice [36]
    Exception in thread "ThreadPoolTaskExecutor-32303" java.lang.NoClassDefFoundError: javax/jws/soap/SOAPBinding$Style
    Caused by: java.lang.NoClassDefFoundError: javax/jws/soap/SOAPBinding$Style


    Now wih version 1.5.1, I have this error :
    javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found
    Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl not found by advancedcallwebservice [59]

    2024-08-12 12:56:30,216 [Appian Work Item - 87985 - WorkID 733 - execution02 - process 4502471 - model 4004 : UnattendedJavaActivityRequest] ERROR com.appiancorp.ps.plugin.wss.smartservice.AbstractCallSOAPWebService - Error invoking web service
    javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found
    at javax.xml.ws.spi.FactoryFinder$1.createException(FactoryFinder.java:61)
    at javax.xml.ws.spi.FactoryFinder$1.createException(FactoryFinder.java:58)
    at javax.xml.ws.spi.ServiceLoaderUtil.newInstance(ServiceLoaderUtil.java:103)
    at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:112)
    at javax.xml.ws.spi.Provider.provider(Provider.java:96)
    at javax.xml.ws.Service.<init>(Service.java:112)
    at javax.xml.ws.Service.create(Service.java:765)
    at com.appiancorp.ps.plugin.wss.SOAPClient.create(SOAPClient.java:145)
    at com.appiancorp.ps.plugin.wss.smartservice.AdvancedCallSOAPWebService.getSOAPClient(AdvancedCallSOAPWebService.java:45)
    at com.appiancorp.ps.plugin.wss.smartservice.AbstractCallSOAPWebService.run(AbstractCallSOAPWebService.java:82)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136)
    at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130)
    at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:28)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:22)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:136)
    at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
    Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl not found by advancedcallwebservice [59]
    at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1601)
    at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
    at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1986)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    at javax.xml.ws.spi.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:90)
    at javax.xml.ws.spi.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:123)
    at javax.xml.ws.spi.ServiceLoaderUtil.newInstance(ServiceLoaderUtil.java:101)
    ... 26 more

  • v1.5.1 Release Notes
    • Additional support for Appian 24.2 (Java 17)
  • Unable to update after 24.2 update......    Was getting an error after Appian update to 24.2 on 7/11

    -------------------------------------------------------------------------------------

    2024-07-15 00:33:38,845 [main] WARN  com.appiancorp.type.config.plugin.PojoDatatypesConfig - The data type [uuid={urn:appian:ps:advancedcallwebservice}Base64AttachmentExtract] in plug-in [key=advancedcallwebservice, module=Base64AttachmentExtract] was not imported because it or another data type in the plug-in module was already present on the system with a different structure, but the version of the plug-in that provided the existing data type could not be determined. If you intend to change the structure of this data type you must first delete the data type from the system and deploy this plug-in again. If the problem persists, check that all data type precedents of the data type are declared in the same plug-in module or are listed before this data type in the appian-plug.xml. If you did not intend to change the structure of this data type, this message can be safely ignored as it is a false positive in the structure comparison mechanism. Please submit the plug-in and accompanying log messages to Appian Support for further analysis. (APNX-1-4165-003)

    -------------------------------------------------------------------------------------

    Tried to update the plugin but a message popped up message box missing, and it had a bunch of numbers, did not get a screen shot. Attempted to install as new and got below error message.

    2024-07-16 13:54:54,171 [ajp-nio-0.0.0.0-8009-exec-8] WARN  com.appiancorp.type.config.plugin.PojoDatatypesConfig - The data type [uuid={urn:appian:ps:advancedcallwebservice}Base64AttachmentExtract] in plug-in [key=advancedcallwebservice, module=Base64AttachmentExtract] was not imported because it or another data type in the plug-in module was already present on the system with a different structure, but the version of the plug-in that provided the existing data type could not be determined. If you intend to change the structure of this data type you must first delete the data type from the system and deploy this plug-in again. If the problem persists, check that all data type precedents of the data type are declared in the same plug-in module or are listed before this data type in the appian-plug.xml. If you did not intend to change the structure of this data type, this message can be safely ignored as it is a false positive in the structure comparison mechanism. Please submit the plug-in and accompanying log messages to Appian Support for further analysis. (APNX-1-4165-003)
    2024-07-16 13:54:54,283 [ajp-nio-0.0.0.0-8009-exec-8] ERROR com.atlassian.plugin.manager.DefaultPluginManager - There was an error loading the descriptor 'Advanced Call SOAP Web Service' of plugin 'advancedcallwebservice'. Disabling.
    com.atlassian.plugin.PluginException: com.appiancorp.suiteapi.common.exceptions.AppianRuntimeException: com.appiancorp.process.admin.IncompatibleSmartServiceRegistrationException: The Smart Service Module was invalid: Illegal attempt to change the data type for smart service advancedcallwebservice.AdvancedCallSOAPWebService3, input or output named Base64AttachmentExtract (APNX-1-4104-005)
    	at com.appiancorp.plugins.ExceptionHandlingModuleDescriptor.enabled(ExceptionHandlingModuleDescriptor.java:68)
    	at com.atlassian.plugin.manager.DefaultPluginManager.lambda$notifyModuleEnabled$47(DefaultPluginManager.java:1891)

    Caused by: com.appiancorp.suiteapi.common.exceptions.AppianRuntimeException: com.appiancorp.process.admin.IncompatibleSmartServiceRegistrationException: The Smart Service Module was invalid: Illegal attempt to change the data type for smart service advancedcallwebservice.AdvancedCallSOAPWebService3, input or output named Base64AttachmentExtract (APNX-1-4104-005)
    	at com.appiancorp.process.ActivityClassSupplierModern.registerInternal(ActivityClassSupplierModern.java:363)
    	at com.appiancorp.process.ActivityClassSupplierLazyData.register(ActivityClassSupplierLazyData.java:86)
    	at com.appiancorp.process.ActivityClassSupplier.get(ActivityClassSupplier.java:85)
    	at com.appiancorp.process.SmartServiceModuleDescriptor.enabledInternal(SmartServiceModuleDescriptor.java:203)
    	at com.appiancorp.plugins.ExceptionHandlingModuleDescriptor.enabled(ExceptionHandlingModuleDescriptor.java:66)
    	... 905 more
    2024-07-16 13:54:54,290 [ajp-nio-0.0.0.0-8009-exec-8] ERROR com.appiancorp.plugins.LoggingPluginEventListener - Failed to enable Plug-in 'Advanced Call Web Service' (advancedcallwebservice) version 1.5.0: 'There was a problem loading the module descriptor: Advanced Call SOAP Web Service.<br/>com.appiancorp.suiteapi.common.exceptions.AppianRuntimeException: com.appiancorp.process.admin.IncompatibleSmartServiceRegistrationException: The Smart Service Module was invalid: Illegal attempt to change the data type for smart service advancedcallwebservice.AdvancedCallSOAPWebService3, input or output named Base64AttachmentExtract (APNX-1-4104-005)'
    2024-07-16 13:54:54,290 [ajp-nio-0.0.0.0-8009-exec-8] ERROR com.appiancorp.plugins.DeployCloudPluginReaction - Failed to deploy plugin from : plugins.internal.appiancloud.com/.../advancedcallwebservice_1.5.0.jar
    java.lang.IllegalStateException: Plugin was deployed but not successfully enabled
    	at com.appiancorp.plugins.DeployPluginService.lambda$installPlugin$2(DeployPluginService.java:134)
    	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
    	at com.appiancorp.plugins.DeployPluginService.installPlugin(DeployPluginService.java:134)
    	at com.appiancorp.plugins.DeployPluginService.installCloudPlugin(DeployPluginService.java:98)
    	at com.appiancorp.plugins.DeployCloudPluginReaction.activate(DeployCloudPluginReaction.java:104)
    	at com.appiancorp.core.expr.reaction.ExternalReactionTree.activate(ExternalReactionTree.java:110)

  • Thank you! The above issue was resolved in v1.5.0 Release Notes

  • v1.5.0 Release Notes
    • Support for Appian 24.2 (Java 17)
    • Updated to use modernised content APIs

  • Hi Team,

    After upgrading to 24.2, we are getting the below exception, and on the process instance the following error is captured "An error occurred in executing an Activity Class."

    2024-06-11 17:00:35,390 [ThreadPoolTaskExecutor-22680] ERROR com.appiancorp.process.workpoller.WorkItemListener - The following exception occurred while attempting to complete work item [[WorkId: 200, EngineId: execution02, Request: UnattendedJavaActivityRequest:536886082 as ###initiator### by ###designer###, ProcessId: 537034260, ProcessModelId: 4871, Response: null]] - Exception: 
    javax.resource.spi.work.WorkCompletedException: java.lang.NoClassDefFoundError: javax/jws/soap/SOAPBinding$Style
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:244)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    	at java.base/java.lang.Thread.run(Thread.java:840)
    Caused by: java.lang.NoClassDefFoundError: javax/jws/soap/SOAPBinding$Style
    	at com.sun.xml.ws.model.wsdl.WSDLBoundPortTypeImpl.<init>(WSDLBoundPortTypeImpl.java:144)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parseBinding(RuntimeWSDLParser.java:585)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDLParser.java:475)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:249)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:209)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:178)
    	at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:363)
    	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:321)
    	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:230)
    	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:211)
    	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:207)
    	at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:114)
    	at javax.xml.ws.Service.<init>(Service.java:112)
    	at javax.xml.ws.Service.create(Service.java:765)
    	at com.appiancorp.ps.plugin.wss.SOAPClient.create(SOAPClient.java:145)
    	at com.appiancorp.ps.plugin.wss.smartservice.AdvancedCallSOAPWebService.getSOAPClient(AdvancedCallSOAPWebService.java:45)
    	at com.appiancorp.ps.plugin.wss.smartservice.AbstractCallSOAPWebService.run(AbstractCallSOAPWebService.java:84)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136)
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:28)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:22)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:136)
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241)
    	... 3 more
    Caused by: java.lang.ClassNotFoundException: javax.jws.soap.SOAPBinding$Style not found by advancedcallwebservice [38]
    	... 36 more
    Exception in thread "ThreadPoolTaskExecutor-22680" java.lang.NoClassDefFoundError: javax/jws/soap/SOAPBinding$Style
    	at com.sun.xml.ws.model.wsdl.WSDLBoundPortTypeImpl.<init>(WSDLBoundPortTypeImpl.java:144)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parseBinding(RuntimeWSDLParser.java:585)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDLParser.java:475)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:249)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:209)
    	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:178)
    	at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:363)
    	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:321)
    	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:230)
    	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:211)
    	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:207)
    	at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:114)
    	at javax.xml.ws.Service.<init>(Service.java:112)
    	at javax.xml.ws.Service.create(Service.java:765)
    	at com.appiancorp.ps.plugin.wss.SOAPClient.create(SOAPClient.java:145)
    	at com.appiancorp.ps.plugin.wss.smartservice.AdvancedCallSOAPWebService.getSOAPClient(AdvancedCallSOAPWebService.java:45)
    	at com.appiancorp.ps.plugin.wss.smartservice.AbstractCallSOAPWebService.run(AbstractCallSOAPWebService.java:84)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136)
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:28)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:22)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:136)
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    	at java.base/java.lang.Thread.run(Thread.java:840)
    Caused by: java.lang.ClassNotFoundException: javax.jws.soap.SOAPBinding$Style not found by advancedcallwebservice [38]
    	... 36 more