locked
Getting System error when I tried to update orderItems RRS feed

  • Question

  • Hi,
      Can some one please help me why System error occurred when I tried to update orderItems.

    Example code I used is:
            AdCenterOrderItem orderItem = new AdCenterOrderItem();
            orderItem.setOrderItemId(orderItemId);
            orderItem.setExactMatchAmt(0.05);
            orderItem.setBroadMatchAmt(0);
            orderItem.setPhraseMatchAmt(0);

    And I updated this item by calling updateOrderItems() method.

    I got below exception:

    Server was unable to process request. ---> -1|0|System error. Please contact MSN Customer Support and refer to this error number: 1.|
            at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
            at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
            at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
            at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
            at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
            at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
            at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
            at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
            at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
            at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
            at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
            at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
            at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
            at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
            at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
            at org.apache.axis.client.Call.invoke(Call.java:2767)
            at org.apache.axis.client.Call.invoke(Call.java:2443)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.microsoft.adcenter.syncapis.CampaignManagementSoapStub.updateOrderItems(CampaignManagementSoapStub.java:1344)


    Thanks
    Monday, April 2, 2007 7:33 AM

Answers

  • Yes, I addressed that in other threads. There are plans to clean-up the error system so it is more consistent and clear, and there are plans to allow you to update only those values in an object that you want changed. But as I said before, the list of feature requests is long...
    Monday, April 2, 2007 5:20 PM

All replies

  • Hi, you have omitted OrderId.
    Try adding that and see if it makes any difference.

    If that still doesn't work make sure the value of orderItemId is valid.
    Monday, April 2, 2007 7:46 AM
  • Hi Julien,
     OrderID is passed as a parameter to updateOrderItems() method. Interesting is, when I don't change any value and call updateOrderItems(), it went fine with out giving any error.
    For example,
    AdCenterOrderItem orderItem = new AdCenterOrderItem();
    orderItem.setOrderItemId(orderItemID);
    and called   updateOrderItems campaignManager.updateOrderItems(0, orderID, new AdCenterOrderItem[]{orderItem});

    Where campaignManager is an object of CampaignManagementSoap.
     It went fine with out giving any error.

    Thanks

    Monday, April 2, 2007 8:57 AM
  • Another strange thing that I figured out is this:
    When I tried to change substparam1,
    I got below error:
    Order #0 failed with error code: -400038


    Thanks

    Monday, April 2, 2007 9:18 AM
  • This error code means 'All bids have been set to zero.' according the the documentation...

    Since you are only trying to update bids I suggest you use UpdateOrderItemsBid.

    What I do (using PHP/NuSOAP) is modify the order items stored locally and send everything back using the UpdateOrderItems. Works fine.


    Have you tried updating orders or campaigns for instance? Do you get errors there too?
    Monday, April 2, 2007 10:50 AM
  • Yeah. I saw the documentation and I didn't understand why it is saying "All Bids have been set to Zero" when I have some bid amount set already.

    I am just trying to change mutable values in orderItem. So, I want to use updateOrderItems method for that.  And also above error came when I tried to change destination URL, not bid values. While changing bidValues, it directly gave "System Error".

    I tried to update orders and I got some null value exception. And, from the forum, I found that we have to set each and every value even to modify single attribute for orders. So, I tried for orderItems. It seems, even for orderItems too, we have to set each and every value though we want to change one.

    Surprising thing is, even if updating orderItem needs all fields to be set, the exception should be same. But, the exceptions are different when I tried for orders and for orderItems.

    Is there any plan to change the system in such a way that it accepts only those values which we want to change and modify that order/orderItem/campaign/ad?

    Thanks


    Monday, April 2, 2007 12:06 PM
  • Yes, I addressed that in other threads. There are plans to clean-up the error system so it is more consistent and clear, and there are plans to allow you to update only those values in an object that you want changed. But as I said before, the list of feature requests is long...
    Monday, April 2, 2007 5:20 PM