on 03-05-2010 8:32 PM
I was trying to create an AWS model against an IBM FileNET P8 web service. It keeps failing during the client generation step.
The interesting thing is, if I try to generate the web service client using the AXIS 1.4 framework, which is also included inside NWDS, it works.
Here is the AWS wizard error from the NWDS log:
<br>
<br>
<pre>
com.tssap.util.ui 4 0 2010-03-05 14:14:33.382
Mar 5, 2010 2:14:33 PM com.sap.tc.webdynpro.model.webservice.modeltype.importer.... [Thread[main,6,main]] Error: Error in loading namespace and model class
java.lang.IllegalArgumentException: can't parse argument number http://www.filenet.com/ns/fnce/2006/11/ws/schema
at java.text.MessageFormat.makeFormat(MessageFormat.java:1330)
at java.text.MessageFormat.applyPattern(MessageFormat.java:450)
at java.text.MessageFormat.<init>(MessageFormat.java:350)
at java.text.MessageFormat.format(MessageFormat.java:803)
at com.sap.tc.webdynpro.model.webservice.base.exception.BaseModelRuntimeException$DummyLocalizableTextFormatter.<init>(BaseModelRuntimeException.java:69)
at com.sap.tc.webdynpro.model.webservice.base.exception.BaseModelRuntimeException$DummyLocalizableTextFormatter.<init>(BaseModelRuntimeException.java:66)
at com.sap.tc.webdynpro.model.webservice.base.exception.BaseModelRuntimeException.<init>(BaseModelRuntimeException.java:58)
at com.sap.tc.webdynpro.model.webservice.base.exception.BaseModelRuntimeException.<init>(BaseModelRuntimeException.java:38)
at com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException.<init>(WSModelRuntimeException.java:49)
at com.sap.tc.webdynpro.model.webservice.exception.WSModelLimitationException.<init>(WSModelLimitationException.java:18)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.resolveDDicTypeFromWSRSimpleType(WSModelInfo.java:766)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateMcForComplexType(WSModelInfo.java:542)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.resolveStructureFields(WSModelInfo.java:631)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateMcForComplexType(WSModelInfo.java:549)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.addOperationParamsToModelClass(WSModelInfo.java:509)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.createMetadataForOperation(WSModelInfo.java:477)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.readOperationsFromWSDL(WSModelInfo.java:379)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadataInternal(WSModelInfo.java:342)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadata(WSModelInfo.java:306)
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadata(WSModelInfo.java:316)
at com.sap.tc.webdynpro.model.webservice.modeltype.importer.ui.PageAWSRename.loadNameSpacesAndModelClasses(PageAWSRename.java:996)
at com.sap.tc.webdynpro.model.webservice.modeltype.importer.ui.PageAWSLocalFileClient$5$1.run(PageAWSLocalFileClient.java:283)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:158)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:326)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:934)
at com.sap.tc.webdynpro.model.webservice.modeltype.importer.ui.PageAWSLocalFileClient.getNextPage(PageAWSLocalFileClient.java:299)
at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:813)
at com.sap.ide.cmi.core.internal.newmodelwizard.NewModelWizardDialog.nextPressed(NewModelWizardDialog.java:66)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:369)
at com.sap.ide.cmi.core.internal.newmodelwizard.NewModelWizardDialog.buttonPressed(NewModelWizardDialog.java:88)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:616)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
at org.eclipse.jface.window.Window.open(Window.java:796)
at com.sap.ide.cmi.core.internal.services.CreationServiceUI.createModel(CreationServiceUI.java:76)
at com.sap.ide.cmi.core.browser.actions.CreateModelAction.run(CreateModelAction.java:60)
at com.sap.ide.tools.core.viewerfwk.internal.actions.BaseSelectionSingleAction.run(BaseSelectionSingleAction.java:39)
at com.sap.ide.tools.core.viewerfwk.internal.actions.BaseSelectionAction.runInternal(BaseSelectionAction.java:78)
at com.sap.ide.tools.core.viewerfwk.internal.actions.BaseSelectionAction.run(BaseSelectionAction.java:70)
at org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:168)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
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 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
at org.eclipse.equinox.launcher.Main.main(Main.java:1144)
</pre>
<br>
<br>
The WSDL file:
<br>
<br>
<pre>
<?xml version='1.0' encoding='utf-8' ?>
<definitions name='FNCEWS40SOAP' targetNamespace='http://www.filenet.com/ns/fnce/2006/11/ws/SOAP/wsdl'
xmlns='http://schemas.xmlsoap.org/wsdl/'
xmlns:sdef='http://www.filenet.com/ns/fnce/2006/11/ws/SOAP/wsdl'
xmlns:cdef='http://www.filenet.com/ns/fnce/2006/11/ws/wsdl'
xmlns:ctyp='http://www.filenet.com/ns/fnce/2006/11/ws/schema'
xmlns:tns='http://www.filenet.com/ns/fnce/2006/11/ws/SOAP/wsdl'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:ns0='http://systinet.com/soap-jta/'
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'>
<import namespace='http://www.filenet.com/ns/fnce/2006/11/ws/wsdl' location='http://dev-workplace/FNCEWS40.wsdl'/>
<types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://systinet.com/soap-jta/"
xmlns:map="http://systinet.com/mapping/"
xmlns:tns="http://systinet.com/soap-jta/">
<xsd:element name="TxId">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id" nillable="true" type="xsd:string"/>
<xsd:element name="NoTxResume" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
<message name='runtimeHeaders_0'>
<part name='header_0' element='ns0:TxId'/>
</message>
<binding name='FNCEWS40SoapBinding' type='cdef:FNCEWS40PortType'>
<soap:binding transport='http://schemas.xmlsoap.org/soap/http' style='document'/>
<operation name='ExecuteChanges'>
<soap:operation soapAction='http://www.filenet.com/ns/fnce/2006/11/ws/SOAP#ExecuteChanges'/>
<input>
<soap:header message='cdef:LocalizationHeader' part='header' use='literal'/>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</input>
<output>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</output>
<fault name='GeneralError'>
<soap:fault name='GeneralError' use='literal'/>
</fault>
</operation>
<operation name='ExecuteSearch'>
<soap:operation soapAction='http://www.filenet.com/ns/fnce/2006/11/ws/SOAP#ExecuteSearch'/>
<input>
<soap:header message='cdef:LocalizationHeader' part='header' use='literal'/>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</input>
<output>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</output>
<fault name='GeneralError'>
<soap:fault name='GeneralError' use='literal'/>
</fault>
</operation>
<operation name='GetContent'>
<soap:operation soapAction='http://www.filenet.com/ns/fnce/2006/11/ws/SOAP#GetContent'/>
<input>
<soap:header message='cdef:LocalizationHeader' part='header' use='literal'/>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</input>
<output>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</output>
<fault name='GeneralError'>
<soap:fault name='GeneralError' use='literal'/>
</fault>
</operation>
<operation name='GetObjects'>
<soap:operation soapAction='http://www.filenet.com/ns/fnce/2006/11/ws/SOAP#GetObjects'/>
<input>
<soap:header message='cdef:LocalizationHeader' part='header' use='literal'/>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</input>
<output>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</output>
<fault name='GeneralError'>
<soap:fault name='GeneralError' use='literal'/>
</fault>
</operation>
<operation name='GetSearchMetadata'>
<soap:operation soapAction='http://www.filenet.com/ns/fnce/2006/11/ws/SOAP#GetSearchMetadata'/>
<input>
<soap:header message='cdef:LocalizationHeader' part='header' use='literal'/>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</input>
<output>
<soap:body use='literal'/>
<soap:header message='tns:runtimeHeaders_0' part='header_0' use='literal'/>
</output>
<fault name='GeneralError'>
<soap:fault name='GeneralError' use='literal'/>
</fault>
</operation>
</binding>
<service name='FNCEWS40Service'>
<documentation
xmlns:cdef="http://www.filenet.com/ns/fnce/2006/11/ws/wsdl"
xmlns:ctyp="http://www.filenet.com/ns/fnce/2006/11/ws/schema"
xmlns:sdef="http://www.filenet.com/ns/fnce/2006/11/ws/SOAP/wsdl"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">FileNET P8 Content Engine Web Service</documentation>
<port name='FNCEWS40InlinePort' binding='tns:FNCEWS40SoapBinding'>
<soap:address location='http://dev-workplace/wsi/FNCEWS40SOAP/'/>
</port>
</service>
</definitions>
</pre>
Possible Workaround: try to create a "Deployable Proxy" Project and import the WSDL. I found that the implementation of WSDL2Java in Proxy and WebDynpro differs.
If you manage to import the WSDL in the Proxy project, you can use the generated classes as Java Model import.
This helped me in a client project ...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
It's easier and more safe to create a FileNet Workflow with a Responce Step that it will expose it as a Web Service : This workflow will be very easy to create and to Expose as Web Service ....
I already Create many Interactions between FileNet P8 4.5 and SAP PI7.1 and it is working perfect;
Lest me know if you need more details ... good lake;
A. JEBBAR
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
These are good suggestions. However, do you guys know what exactly in the WSDL file that the new Adaptive web service does not like, while the deprecated model would work (and btw there is no way for me to go back to 7.0). Is it a WSDL version thing, or the adaptive web service model simply does not implement some features of WSDL (and what would thoese be).
Thanks,
Robert
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Amol,
I am using a local copy of WSDL. That is why I can change it like I mentioned above.
Sonali,
I am using CE7.1. I am trying to create the adaptive web service model within NWDS. Why shoudl I try the depricated "web service model" (which is not in 7.1 any more)?
I know the root cause is something in the WSDL that NWDS does not like, but I don't know what and why. And why I can create the client without any problem with other web service tools, like AXIS and SoapUI, but just not NWDS and why NWDS is so particular about it.
Thanks for the replies.
Robert
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thats why I asked you if u r on CE or 7.0. I know that deprecated option is not there in CE and hence told if on 7.0- give it a try.
Reason- In 7.0 also the Adaptive Web Service Model didnt work for many wsdl file which otherwise worked on the Webservice Model(deprecated). There are certain tags which do not work in case of Adaptive web service model but worked in the deprecated ones.
Thanks.
Jan,
Removing "nillable" does not help. I got the same error. Thanks for the suggestion.
Robert
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Try removing the "nillable" statement from the WSDL and try again.
Jan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
25 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.