• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
[D2WS]: Attempt to insert null into an com.webobjects.foundation.NSArray
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[D2WS]: Attempt to insert null into an com.webobjects.foundation.NSArray


  • Subject: [D2WS]: Attempt to insert null into an com.webobjects.foundation.NSArray
  • From: Juergen Lorenz Simon <email@hidden>
  • Date: Wed, 16 Apr 2008 20:17:45 +0200

Hi all,

I have a problem with a D2WS consumer. When invoking a simple 'insert' operation (called 'add'),
the following exception emerges on the client side:

Exception when invoking Web Service Operation 'add' : java.lang.IllegalArgumentException: Attempt to insert null into an com.webobjects.foundation.NSArray.: Exception trying to invoke operation: add
com.webobjects.foundation.NSForwardException for AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.lang.IllegalArgumentException: Attempt to insert null into an com.webobjects.foundation.NSArray.
 faultActor: 
 faultNode: 
 faultDetail: 
{http://xml.apache.org/axis/}stackTrace: java.lang.IllegalArgumentException: Attempt to insert null into an com.webobjects.foundation.NSArray.
at com.webobjects.foundation.NSArray.initFromObjects(NSArray.java:338)
at com.webobjects.foundation.NSArray.&lt;init&gt;(NSArray.java:352)
at com.webobjects.foundation.NSArray.&lt;init&gt;(NSArray.java:365)
at com.webobjects.webservices.generation._WSRuleUtilities.invokeOperationOnService(_WSRuleUtilities.java:171)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webobjects.appserver._private.WORPCProvider.processMessage(WORPCProvider.java:351)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
at com.webobjects.appserver._private.WOWebService.performActionNamed(WOWebService.java:375)
at com.webobjects.appserver._private.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:240)
at com.webobjects.appserver._private.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:142)
at com.webobjects.appserver._private.WOWebServiceRequestHandler.handleRequest(WOWebServiceRequestHandler.java:95)
at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1306)
at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:173)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:254)
at java.lang.Thread.run(Thread.java:613)

java.lang.IllegalArgumentException: Attempt to insert null into an com.webobjects.foundation.NSArray.
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:169)
at org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1015)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:585)
at org.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNamespaceBinder.java:898)
at org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBinder.java:644)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1008)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1469)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:329)
at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:525)
at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:581)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1175)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at com.webobjects.webservices.client._private.WOClientSessionHandler.doClient(WOClientSessionHandler.java:59)
at com.webobjects.webservices.client._private.WOClientSessionHandler.invoke(WOClientSessionHandler.java:42)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:193)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at com.webobjects.webservices.client.WOWebServiceClient.invoke(WOWebServiceClient.java:486)
at com.kontrast.cms.index.client.IndexerClient.invoke(IndexerClient.java:287)
at com.kontrast.cms.index.client.IndexerClient.processObjects(IndexerClient.java:179)
at com.kontrast.cms.index.client.IndexerClient.handleSaveChangesNotification(IndexerClient.java:110)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:120)
at com.webobjects.foundation.NSNotificationCenter$_Entry.invokeMethod(NSNotificationCenter.java:601)
at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:545)
at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:575)
at com.webobjects.eocontrol.EOEditingContext.didSaveChanges(EOEditingContext.java:3099)
at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3234)
at com.kontrast.cms.index.test.components.Main.saveChanges(Main.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:684)
at com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1160)
at com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1268)
at com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1539)
at com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:498)
at com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
at com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1600)
at com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:46)
at com.webobjects.appserver._private.WOHyperlink.invokeAction(WOHyperlink.java:76)
at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101)
at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110)
at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
at com.webobjects.appserver.WOSession.invokeAction(WOSession.java:1168)
at com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1375)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:196)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:287)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:322)
at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:358)
at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:432)
at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1306)
at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:173)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:254)
at java.lang.Thread.run(Thread.java:613)

In the method assembling the data, we actually make sure that 'null' values are replaced by NSKeyValueCoding.NullValue:

Object value = ....
data.addObject(value==null?NSKeyValueCoding.NullValue:value);

Which is later on handed to the webservice invocation. The data is re-packaged from an NSArray
into an Object []  which looks something like this:

[XY, 3585651, <com.webobjects.foundation.NSKeyValueCoding$Null>, ... ]

It seems to me that NSKeyValueCoding.Null has a clean serialized form. So why does the SAX 
parser upchuck, or rather: why is the value de-serialized as null instead as NSKeyValueCoding.Null?
Maybe it has nothing to do with how our values look?

Or why is it breaking in:
at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:581)?

Any ideas?




 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Prev by Date: Re: Upgraded to Leopard - what do I need to do?
  • Next by Date: [Fwd: Re: Leaving WebObjects]
  • Previous by thread: Re: Upgraded to Leopard - what do I need to do?
  • Next by thread: [Fwd: Re: Leaving WebObjects]
  • Index(es):
    • Date
    • Thread