首页 > 解决方案 > Authorize.net Java SDK(2.0.1v) 环境未设置问题

问题描述

我在我的应用程序中使用 Authorize.net 作为支付供应商。从 Mobile SDK 获取表单令牌后,我在后端使用他们的 Java SDK 来启动付款。

但是我在使用CreateAnAcceptPaymentTransactionAuthorize.net Java SDK(v2.0.1) 中的类时遇到了以下问题。

环境未设置。使用 setter 设置环境或使用重载 方法传递适当的环境

下一行中的控制器对象有错误。

CreateTransactionController controller = new CreateTransactionController(apiRequest);

我已经通过下面的代码设置了环境

ApiOperationBase.setEnvironment(Environment.SANDBOX);

试图将版本降级到,v2.0.0但它对我不起作用。

任何帮助将非常感激。

标签: javapayment-gatewayauthorize.net

解决方案


该错误实际上与设置环境无关。

您可能遇到了下面提到的例外情况。

javax.xml.bind.JAXBException Implementation of JAXB-API has not been found on module path or classpath 

它在 gradle 文件或 Maven 文件中缺少依赖项。

将这些依赖项添加到您的 pom/gradle 中:

摇篮:

compile('javax.xml.bind:jaxb-api:2.3.0')
compile('javax.activation:activation:1.1')
compile('org.glassfish.jaxb:jaxb-runtime:2.3.0')

绒球:

<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0-b170201.1204</version>
</dependency>

<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.glassfish.jaxb/jaxb-runtime -->
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.0-b170127.1453</version>
</dependency>

可以在此处找到原始帖子javax.xml.bind.JAXBException 在模块路径或类路径上未找到 JAXB-API 的实现


推荐阅读