FuelSDK-Java icon indicating copy to clipboard operation
FuelSDK-Java copied to clipboard

NullPointerException in login

Open hlms opened this issue 7 years ago • 7 comments

I am using fuel-java-1.0.1. Using the following code for login:

ETConfiguration configuration = new ETConfiguration();
configuration.set("clientId", "my-client-id");
configuration.set("clientSecret", "my-client-secret");
ETClient client = new ETClient(configuration);

Intermittently, it fails with the following exception:

Caused by: java.lang.NullPointerException
    at com.exacttarget.fuelsdk.ETClient.<init>(ETClient.java:131) ~[fuel-java-1.0.1.jar:?]

How to resolve the issue?

Will the latest version help?

cross-posted: http://salesforce.stackexchange.com/questions/143160/fuel-sdk-java-nullpointerexception-in-login

hlms avatar Oct 13 '16 13:10 hlms

Adding soapEndpoint (https://webservice.exacttarget.com/Service.asmx) helped to go further a bit but next execution resulted this exception:

java.lang.NullPointerException at org.apache.cxf.wsdl11.WSDLServiceFactory.(WSDLServiceFactory.java:85) at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:218) at org.apache.cxf.jaxws.ServiceImpl.initialize(ServiceImpl.java:161) at org.apache.cxf.jaxws.ServiceImpl.(ServiceImpl.java:129) at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:82) at javax.xml.ws.Service.(Service.java:77) at com.exacttarget.fuelsdk.internal.PartnerAPI.(PartnerAPI.java:49) at com.exacttarget.fuelsdk.ETSoapConnection.(ETSoapConnection.java:101) at com.exacttarget.fuelsdk.ETSoapConnection.(ETSoapConnection.java:211) at com.exacttarget.fuelsdk.ETClient.(ETClient.java:169)

This is because in ServiceImpl in line 153: Definition e = ((WSDLManager)this.bus.getExtension(WSDLManager.class)).getDefinition(this.wsdlURL);

the ExtensionManagerBus contains the WSDLManager in missingExtensions. Latest SDK (1.2.0) has also this issue.

robertfarkas-epam avatar Sep 27 '17 08:09 robertfarkas-epam

soapEndpoint is not mandatory, but authEndpoint is. so you need to set that as well if you use ETConfiguration: configuration.set("authEndpoint", "https://auth.exacttargetapis.com"); Please check out our fuelsdk.properties.template file, we encourage to rename it to fuelsdk.properties and set clientId and clientSecret for ease of use.

sharif26 avatar Sep 27 '17 15:09 sharif26

Thanks for your reply. :) Unfortunately defining authEndpoint does not make any difference because I get the same error.

robertfarkas-epam avatar Sep 28 '17 06:09 robertfarkas-epam

This works for me

kociepa avatar Dec 22 '17 18:12 kociepa

@robertfarkas-epam i am also hitting the same problem. It is working in my local but when i move the jar to my server and run, am seeing this issue. Were you able to solve the problem. i know its kinda old thread but any help is appreciated

vvelayutham-mwb avatar May 03 '18 11:05 vvelayutham-mwb

I am also having this issue. Was anyone able to resolve it.

I was just able to resolve this issue. For anyone having a similar issue. The problem is related to the WSDL extensions. When the java application is run from an IDE and not packaged JAR it loads 14 Extensions and when it is run from the JAR it loads only 8 extension and throws an exception when it tries to load the WSDLFactoryManager. I was using shade for building the JAR the following configuration worked for me added to the transformer section of the shade configuration.

<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.handlers</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/services/com.sun.tools.xjc.Plugin</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.schemas</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/cxf/cxf.extension</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer"><resource>META-INF/extensions.xml</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer"><resource>META-INF/cxf/extensions.xml</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/cxf/bus-extensions.txt</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer"><resource>META-INF/cxf/bus-extensions.xml</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer"><resource>META-INF/wsdl.plugin.xml</resource></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer"><resource>META-INF/tools.service.validator.xml</resource></transformer>

oanguin avatar Aug 08 '19 09:08 oanguin

I am also having this issue. Was anyone able to resolve it? Have tried above mentioned changes but still facing same issue.

ayush9 avatar May 28 '20 06:05 ayush9