Technote (troubleshooting)
Problem(Abstract)
WSWS3574E: ---------- FATAL ERRORS ENCOUNTERED ----------
GENERATION OF ARTIFACTS HAS BEEN SUSPENDED.
Symptom
The details of the error looks like the following:
WSWS3574E: ---------- FATAL ERRORS ENCOUNTERED ----------
GENERATION OF ARTIFACTS HAS BEEN SUSPENDED.
See messages to follow for more details.
WSWS3581E: Error: PortType operation has no corresponding binding
operation: name = operationXYZ, input name = operationXYZRequest, output
name
= operationXYZResponse
Cause
If you have a WSDL file with some operations and its web service bindings
created by a software other than WebSphere Integration Developer such as
Rational Application Developer and import it into WebSphere Integration
Developer, you may encounter fatal error when you add a new operation from
WebSphere Integration Developer and generate web service export with this
interface.
The root cause is due to that the WSDL file is maintained differently in
Rational Application Developer (potentially other software as well) and
WebSphere Integration Developer:
1. Rational Application Developer uses one WSDL file to maintain a WSDL
definition.
2. WebSphere Integration Developer uses two WSDL files to maintain a WSDL
definition, one for WSDL message (interface) and another for WSDL service
and binding information.
This will cause problem when a web service WSDL is created in Rational
Application Developer and modified in WebSphere Integration Developer.
When adding new operation into a WSDL, WebSphere Integration Developer
just generates WSDL message information, and the binding information will
only be generated when WebSphere Integration Developer generates a Web
Service Export in the Assembly Editor. The WSDL binding information will
always be generated in a new WSDL file because this way we can use same
WSDL interface to generate different Web Service Exports at different places.
Writing WSDL binding information in the same file as the WSDL message is
not how WebSphere Integration Developer/WebSphere Process Server
maintain the binding information.
Diagnosing the problem
Open the original WSDL file and look for the binding information enclosed by
the <wsdl:binding> tags. You will find that the operations generated in
WebSphere Integration Developer will not have its binding information inside
these binding tags.
Resolving the problem
If you get the error after generating a Web Service Export for this WSDL,
modify the original WSDL file generated by Rational Application Developer.
Remove the Web Service Export created in WebSphere Integration Developer.
Remove all <wsdl:binding> and <wsdl:service> information generated by
Rational Application Developer and recreate the Web Service Export in
WebSphere Integration Developer. The new binding information will be
generated automatically when the new Web Service Export component is
created in WebSphere Integration Developer. You will see an additional WSDL
file named XYZExport.wsdl which contains the binding information for each
operation being created.
If this WSDL is used as Web Service Import in WebSphere Process Server,
after adding new operation in WebSphere Integration Developer, select
WebSphere Integration Developer -> Business Integration -> Module Name ->
Web Service Port, right click on the WSDL and select Open With -> WSDL
Editor, Right click on the Binding icon (the square icon between the service
and the interface), and select Generate Binding Content to regenerate binding
information.
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies. A current list
of IBM trademarks is available on the Web at "Copyright and trademark
information" at www.ibm.com/legal/copytrade.shtml.