java.net.UnknownHostException:fba-outbound.amazonaws.com

时间:2016-01-29 08:08:35

标签: java amazon-web-services amazon outbound

尝试使用Amazon FWS outbound api时无法从中创建订单。得到未知的例外。我开始知道fws端点主机不工作。有人可以帮助我使用fws api创建订单。

    com.amazonaws.fws.outbound.AmazonFWSOutboundException: Internal Error
    at com.amazonaws.fws.outbound.AmazonFWSOutboundClient.invoke(AmazonFWSOutboundClient.java:481)
    at com.amazonaws.fws.outbound.AmazonFWSOutboundClient.createFulfillmentOrder(AmazonFWSOutboundClient.java:193)
    at com.amazonaws.fws.outbound.samples.CreateFulfillmentOrderSample.invokeCreateFulfillmentOrder(CreateFulfillmentOrderSample.java:164)
    at com.amazonaws.fws.outbound.samples.CreateFulfillmentOrderSample.main(CreateFulfillmentOrderSample.java:143)
Caused by: java.net.UnknownHostException: fba-outbound.amazonaws.com
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
    at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:451)
    at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:140)
    at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:81)
    at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$1.doit(ControllerThreadSocketFactory.java:90)
    at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$SocketTask.run(ControllerThreadSocketFactory.java:157)
    at java.lang.Thread.run(Thread.java:745)

我的代码是::

    /**
     * Just add few required parameters, and try the service
     * Create Fulfillment Order functionality
     *
     * @param args unused
     */
    public static void main(String... args) {

        /************************************************************************
         * Access Key ID and Secret Acess Key ID, obtained from:
         * http://aws.amazon.com
         ***********************************************************************/
        String accessKeyId = SystemParams.AWS_ACCESS_KEY_ID;
        String secretAccessKey = SystemParams.AWS_SECRET_KEY;

        /************************************************************************
         * Instantiate Http Client Implementation of Amazon FWS Outbound 
         ***********************************************************************/
        AmazonFWSOutbound service = new AmazonFWSOutboundClient(accessKeyId, secretAccessKey);

        /************************************************************************
         * Uncomment to try advanced configuration options. Available options are:
         *
         *  - Signature Version
         *  - Proxy Host and Proxy Port
         *  - Service URL
         *  - User Agent String to be sent to Amazon FWS Outbound   service
         *
         ***********************************************************************/
        // AmazonFWSOutboundConfig config = new AmazonFWSOutboundConfig();
        // config.setSignatureVersion("0");
        // AmazonFWSOutbound service = new AmazonFWSOutboundClient(accessKeyId, secretAccessKey, config);

        /************************************************************************
         * Uncomment to try out Mock Service that simulates Amazon FWS Outbound 
         * responses without calling Amazon FWS Outbound  service.
         *
         * Responses are loaded from local XML files. You can tweak XML files to
         * experiment with various outputs during development
         *
         * XML files available under com/amazonaws/fws/outbound/mock tree
         *
         ***********************************************************************/
        // AmazonFWSOutbound service = new AmazonFWSOutboundMock();

        /************************************************************************
         * Setup request parameters and uncomment invoke to try out 
         * sample for Create Fulfillment Order 
         ***********************************************************************/
         CreateFulfillmentOrder request = new CreateFulfillmentOrder();

         String myOrderID = "TEST-00000002-1";

         request.setMerchantFulfillmentOrderId(myOrderID);
         request.setDisplayableOrderId(myOrderID);
         request.setDisplayableOrderDateTime("20016-08-02T00:00:00Z");
         request.setDisplayableOrderComment("Thank you for your order!");
         request.setShippingSpeedCategory("Standard");

         List<String> notificationEmails = new ArrayList<String>();
         notificationEmails.add("email@domain.com"); //Email Address
         request.setNotificationEmailList(notificationEmails);

         Address address = new Address();
         address.setName("Joe Smith");
         address.setLine1("605 5th Ave. S");
         address.setLine2("C/O Amazon.com");
         address.setCity("Seattle");
         address.setStateOrProvinceCode("WA");
         address.setPostalCode("98104");
         address.setCountryCode("US");
         address.setPhoneNumber("206-266-1000");
         request.setDestinationAddress(address);

         List<CreateFulfillmentOrderItem> items = new ArrayList<CreateFulfillmentOrderItem>(1);

         CreateFulfillmentOrderItem item1 = new CreateFulfillmentOrderItem();

         item1.setMerchantSKU("B00THKEKEQ");

         item1.setMerchantFulfillmentOrderItemId(myOrderID + "-1");
         item1.setQuantity(2);
         items.add(item1);

         request.setItem(items);

         /*try {
            CreateFulfillmentOrderResponse response = service.createFulfillmentOrder(request);
            System.out.println("Order : " + myOrderID + " successfully created by " +
                    "FWSOutboundService. You can check status of your " +
                    "order on the 'Manage Your Orders' page at " +
                    "http://sellercentral.amazon.com");
        } catch (AmazonFWSOutboundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }*/



         // @TODO: set request parameters here

         invokeCreateFulfillmentOrder(service, request);

    }



    /**
     * Create Fulfillment Order  request sample
     * Request for Amazon to send items from the merchant's inventory to a
     * destination address.
     *   
     * @param service instance of AmazonFWSOutbound service
     * @param request Action to invoke
     */
    public static void invokeCreateFulfillmentOrder(AmazonFWSOutbound service, CreateFulfillmentOrder request) {
        try {

            System.out.println ("CreateFulfillmentOrder Action Response");
            System.out.println ("=============================================================================");
            System.out.println ();

            CreateFulfillmentOrderResponse response = service.createFulfillmentOrder(request);            

            System.out.println("    CreateFulfillmentOrderResponse");
            System.out.println();
            if (response.isSetResponseMetadata()) {
                System.out.println("        ResponseMetadata");
                System.out.println();
                ResponseMetadata  responseMetadata = response.getResponseMetadata();
                if (responseMetadata.isSetRequestId()) {
                    System.out.println("            RequestId");
                    System.out.println();
                    System.out.println("                " + responseMetadata.getRequestId());
                    System.out.println();
                }
            } 
            System.out.println();


        } catch (AmazonFWSOutboundException ex) {

            System.out.println("Caught Exception: " + ex.getMessage());
            System.out.println("Response Status Code: " + ex.getStatusCode());
            System.out.println("Error Code: " + ex.getErrorCode());
            System.out.println("Error Type: " + ex.getErrorType());
            System.out.println("Request ID: " + ex.getRequestId());
            System.out.print("XML: " + ex.getXML());
            ex.printStackTrace();
        }
    }

}

1 个答案:

答案 0 :(得分:0)

域的-unknownhostexception。这意味着您的服务器没有域名。

设置DNS服务器ip或 插入(ip域信息)/ etc / hosts - 如果它不起作用,服务器正在寻找DNS,你可以改变命令查找本地&#34;主机文件&#34;