documentation.softwareag.com...m table of contents web services developer’s guide version 10.5 3...

371
Web Services Developer’s Guide Version 10.5 October 2019

Upload: others

Post on 02-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • Web Services Developer’s Guide

    Version 10.5

    October 2019

  • This document applies to webMethods Integration Server and Software AG Designer Version 10.5 and to all subsequent releases.

    Specifications contained herein are subject to change and these changes will be reported in subsequent release notes or new editions.

    Copyright © 2007-2019 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/orits affiliates and/or their licensors.

    The name Software AG and all Software AG product names are either trademarks or registered trademarks of Software AG and/orSoftware AG USA Inc. and/or its subsidiaries and/or its affiliates and/or their licensors. Other company and product names mentionedherein may be trademarks of their respective owners.

    Detailed information on trademarks and patents owned by Software AG and/or its subsidiaries is located athp://softwareag.com/licenses.

    Use of this software is subject to adherence to Software AG's licensing conditions and terms. These terms are part of the productdocumentation, located at hp://softwareag.com/licenses and/or in the root installation directory of the licensed product(s).

    This software may include portions of third-party products. For third-party copyright notices, license terms, additional rights orrestrictions, please refer to "License Texts, Copyright Notices and Disclaimers of Third Party Products". For certain specific third-partylicense restrictions, please refer to section E of the Legal Notices available under "License Terms and Conditions for Use of Software AGProducts / Copyright and Trademark Notices of Software AG Products". These documents are part of the product documentation, locatedat hp://softwareag.com/licenses and/or in the root installation directory of the licensed product(s).

    Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement withSoftware AG.

    Document ID: IS-WS-DG-105-20191015

    http://softwareag.com/licenses/http://softwareag.com/licenses/http://softwareag.com/licenses/

  • MTable of Contents

    Web Services Developer’s Guide Version 10.5 3

    Table of Contents

    About this Guide............................................................................................................................11Document Conventions............................................................................................................ 11Online Information and Support............................................................................................... 12Data Protection......................................................................................................................... 13

    Working with Web Services..........................................................................................................15What Are Web Service Descriptors?........................................................................................16About Provider Web Service Descriptors.................................................................................17

    Service Signature Requirements for Service First Provider Web Service Descriptors...... 18Using XML Namespaces with Prefixes with Fields in Service Signatures..................19Handling Incomplete Service Signatures Using Wrapper Services............................19

    Creating a Service First Provider Web Service Descriptor............................................... 20Protocol Mismatch Between Transport and Primary Port.......................................... 24

    Creating a WSDL First Provider Web Service Descriptor.................................................25About Consumer Web Service Descriptors..............................................................................32

    Creating a Consumer Web Service Descriptor................................................................. 33Supporting Elements for a Consumer Web Service Descriptor................................. 40

    About Web Service Connectors........................................................................................ 41Refreshing a Web Service Connector...............................................................................42Invoking a Web Service Using a Web Service Connector................................................ 43About Response Services................................................................................................. 44

    About Refreshing a Web Service Descriptor............................................................................44How Refresh Affects a Web Service Descriptor............................................................... 47Considerations for Refreshing a Web Service Descriptor.................................................51Refreshing a Web Service Descriptor...............................................................................52

    Viewing the WSDL Document for a Web Service Descriptor...................................................55WS-I Compliance for Web Service Descriptors....................................................................... 56

    Modifying WS-I Compliance for a Web Service Descriptor...............................................57Reporting the WS-I Profile Conformance for a Web Service Descriptor........................... 57

    Changing the Target Namespace for a Web Service Descriptor..............................................58Viewing the Namespaces Used within a WSDL Document..................................................... 58Enabling MTOM/XOP Support for a Web Service Descriptor.................................................. 58

    Enabling SOAP Attachments for a Web Service Descriptor............................................. 59Using pub.string:base64Encode with MTOM Implementations.........................................59

    Adding SOAP Headers to the Pipeline.................................................................................... 60Validating SOAP Response......................................................................................................60Validating Schemas Associated with a Web Service Descriptor.............................................. 61

    Enabling Xerces Schema Validation for a Web Service Descriptor.................................. 63Working with Binders................................................................................................................64

    Binders and Mixed Use.....................................................................................................64Existing Web Service Descriptors with Mixed Use Binders....................................... 64

  • MTable of Contents

    Web Services Developer’s Guide Version 10.5 4

    Binders and Mixed Style................................................................................................... 65Adding a Binder to Web Service Descriptor..................................................................... 65Copying Binders Across Provider Web Service Descriptors.............................................68Changing the Binder Transport......................................................................................... 68Deleting a Binder from a Web Service Descriptor............................................................ 69Deleting an Operation from a Binder................................................................................ 69Modifying the SOAP Action for an Operation in a Binder................................................. 70Assigning a Web Service Endpoint Alias to a Binder....................................................... 70Configuring Use of the Client Side Queue........................................................................72

    Working with Operations.......................................................................................................... 73Adding Operations.............................................................................................................73

    Adding an IS Service as an Operation...................................................................... 74Adding an Operation from another Provider Web Service Descriptor........................74Using a 6.5 SOAP-MSG Style Service as an Operation............................................75

    Modifying the Signature of a 6.5 SOAP-MSG Style Operation........................... 76Deleting Operations...........................................................................................................78Viewing the Operation Input and Output...........................................................................79

    Adding Headers to an Operation............................................................................................. 79Adding a Header to an Operation.....................................................................................80

    About SOAP Fault Processing................................................................................................. 81About SOAP Fault Elements.............................................................................................83

    Adding a Fault Element to an Operation................................................................... 84The $fault Variable............................................................................................................ 85Modifying a Returned SOAP Fault....................................................................................87

    Viewing Document Types for a Header or Fault Element........................................................87Working with Handlers..............................................................................................................88

    Setting Up a Header Handler............................................................................................89Registering a Header Handler...........................................................................................89Adding a Handler to a Web Service Descriptor................................................................ 90Deleting a Handler from a Web Service Descriptor.......................................................... 90

    Working with Policies................................................................................................................90Attaching a Policy to a Web Service Descriptor............................................................... 91Removing a Policy from a Web Service Descriptor.......................................................... 92

    About Pre-8.2 Compatibility Mode............................................................................................92Setting Compatibility Mode................................................................................................93Features Impacted by Compatibility Mode........................................................................95

    SOAP Message Exchange Patterns...........................................................................................101Message Exchange Patterns that Integration Server Supports............................................. 102How Integration Server Determines the MEP Type to Use....................................................102

    WSDL for Service First Providers................................................................................... 103WSDL for WSDL First Providers and Consumers.......................................................... 103

    How the MEP Type Affects the SOAP Response a Provider Returns................................... 104How and Elements Affect a Consumer.......................................105How Adding Response Headers or Faults Affect In-Only MEP Operations........................... 106

  • MTable of Contents

    Web Services Developer’s Guide Version 10.5 5

    How the MEP Affects the Execution of Handlers...................................................................106Considerations When Changing a Provider’s Compatibility Mode......................................... 107

    Impacts of Changing a Provider’s Compatibility Mode to False......................................107Impacts of Changing a Provider’s Compatibility Mode to True....................................... 108

    Considerations When Changing a Consumer’s Compatibility Mode...................................... 108

    Using SOAP over JMS with Web Services............................................................................... 111Introduction............................................................................................................................. 112Pre-Requisites for Using SOAP/JMS..................................................................................... 112Using SOAP/JMS with Provider Web Service Descriptors.....................................................112

    Run-Time Behavior for a Provider Web Service that Uses SOAP/JMS.......................... 114Additional Guidelines for Using SOAP/JMS with Provider Web Service Descriptors...... 115

    Using SOAP/JMS with Consumer Web Service Descriptors................................................. 116Run-Time Behavior for a Web Service Connector that Uses a SOAP/JMS Binding........118Additional Guidelines for Using SOAP/JMS with Consumer Web Service Descriptors... 120

    Using SOAP/JMS with Web Services with Transactions....................................................... 121Guidelines for Using Transactions with SOAP/JMS and Provider Web ServiceDescriptors.......................................................................................................................121Guidelines for Using Transactions with SOAP/JMS and Consumer Web ServiceDescriptors.......................................................................................................................122

    Asynchronously Invoking an In-Out Operation.......................................................................123Consumer Support for Robust In-Only Operations with SOAP/JMS Bindings....................... 124

    Working with Web Service Connectors.....................................................................................125About Web Service Connectors............................................................................................. 126Signature for a Web Service Connector................................................................................ 126

    How a Web Service Connector Represents the Input and Output Messages.................148About Transport and Fault Information Returned by a Web Service Connector..............149

    How a SOAP Fault is Mapped to the Generic Fault Output Structure................................... 154Setting Transport Headers for HTTP/S.................................................................................. 156Setting Transport Headers for JMS........................................................................................157Passing Message-Level Security Information to a Web Service Connector...........................161

    Working with Response Services.............................................................................................. 163About Response Services...................................................................................................... 164Signature for a Response Service......................................................................................... 165Signature for a genericFault_Response Service....................................................................165

    About Handlers and Handler Services...................................................................................... 167What Are Handlers and Handler Services?........................................................................... 168Setting Up a Handler..............................................................................................................168Registering a Handler.............................................................................................................169About Request Handler Services........................................................................................... 170

    Request Handler Services and Status Codes.................................................................170About Response Handler Services........................................................................................ 173

    Response Handler Services and Status Codes..............................................................176

  • MTable of Contents

    Web Services Developer’s Guide Version 10.5 6

    About Fault Handler Services.................................................................................................178Fault Handler Services and Status Codes......................................................................180

    About Outbound Callback Services.......................................................................................... 183What Are Outbound Callback Services?................................................................................184Usage of Outbound Callback Services.................................................................................. 184Invoking Outbound Callback Services....................................................................................185

    MTOM Streaming..........................................................................................................................187Configuring MTOM Streaming for a Web Service Descriptor.................................................188Integration Server Parameters for MTOM Streaming.............................................................188Using MTOM Streaming for Service First Provider Web Service Descriptors........................ 189Using MTOM Streaming for WSDL First Provider Web Service Descriptors..........................189Using MTOM Streaming for Consumer Web Service Descriptors..........................................190How MTOM Streaming Affects Saved Pipelines....................................................................191

    Including SOAP Headers in the Pipeline.................................................................................. 193Anatomy of a SOAP Header in the Pipeline.......................................................................... 194Example of a SOAP Header in the Pipeline.......................................................................... 196

    Web Service Authentication and Authorization........................................................................197Introduction............................................................................................................................. 198Authentication and Authorization for Consumer Web Service Descriptors.............................198ACL Checking Scenarios for Consumer Web Service Descriptors........................................ 201Authentication and Authorization for Provider Web Service Descriptors................................202ACL Checking Scenarios for Provider Web Service Descriptors........................................... 206Authentication and Authorization for Consumer Web Service Descriptors While ProcessingAsynchronous Responses...................................................................................................... 208ACL Checking Scenarios for Consumer Web Service Descriptors While ProcessingAsynchronous Responses...................................................................................................... 211Authentication and Authorization for Provider Web Service Descriptors on an Earlier WebServices Implementation.........................................................................................................212ACL Checking Scenarios for Provider Web Service Descriptors on an Earlier Web ServicesImplementation........................................................................................................................217

    Transient Error Handling for Provider Web Service Descriptors............................................219Introduction............................................................................................................................. 220Transient Error Handling for an Operation Invoked via SOAP over HTTP.............................220Transient Error Handling for an Operation Invoked by a Non-Transacted SOAP-JMSTrigger..................................................................................................................................... 223Transient Error Handling for an Operation Invoked by a Transacted SOAP-JMS Trigger...... 227

    How Integration Server Builds Consumer and Provider Endpoint URLs...............................231How Integration Server Builds the Consumer Endpoint URL.................................................232

    How the Consumer Web Service Endpoint Alias Affects the Endpoint URL................... 233How Integration Server Builds the Provider Endpoint URL....................................................234

  • MTable of Contents

    Web Services Developer’s Guide Version 10.5 7

    How Integration Server Determines which Operation to Invoke.............................................237Determining the Operation for an HTTP/S Request...............................................................238Determining the Operation for a SOAP/JMS Request........................................................... 239Fallback Mechanisms for Determining the Operation............................................................ 239

    Port Name Is Not Specified............................................................................................ 240Duplicate SOAP Action................................................................................................... 240SOAP Action Value Is Empty, Absent or Cannot Be Resolved.......................................240

    Array Handling for Document/Literal and RPC/Literal.............................................................243How Integration Server Represents Arrays for Document/Literal and RPC/Literal.................244Backward Compatibility for Web Service Descriptors Created in Integration Server 7.x........ 245XML Namespace Decoding for Array Elements.....................................................................245

    Defining Policies for Web Services (WS-Policy)...................................................................... 247About WS-Policy.....................................................................................................................248WS-Policy Files.......................................................................................................................248

    Moving or Copying Web Service Descriptors with Attached Policies..............................249Guidelines for Creating WS-Policy Files......................................................................... 249Policy ID.......................................................................................................................... 251

    About Updating WS-Policies.................................................................................................. 251About Deleting WS-Policies....................................................................................................252

    Securing Web Services (WS-Security)...................................................................................... 253WS-Security in Integration Server.......................................................................................... 254Transport-Based vs. Message-Based Security...................................................................... 254WS-Security and the SOAP Message Header.......................................................................255WS-Security and the Message Direction............................................................................... 255

    About Securing Web Service Providers and Consumers................................................255How You Can Secure SOAP Messages with WS-Security.................................................... 257

    WS-Security Certificate and Key Requirements.......................................................................259Overview................................................................................................................................. 260Certificate and Key Requirements for WS-Security............................................................... 260

    Requirements When Using Asymmetric Binding.............................................................260Requirements When Using Symmetric Binding.............................................................. 261

    About Certificate and Key Resolution Order.......................................................................... 263WS-Security Key Resolution Order: Web Services Consumer.............................................. 263

    Web Service Consumer: Response (Inbound Security) Detailed Usage and ResolutionOrder................................................................................................................................264Web Service Consumer: Request (Outbound Security) Detailed Usage and ResolutionOrder................................................................................................................................265

    WS-Security Key Resolution Order: Web Services Provider................................................. 268Web Service Provider: Response (Outbound Security) Detailed Usage and ResolutionOrder................................................................................................................................269Web Service Provider: Request (Inbound Security) Detailed Usage and ResolutionOrder................................................................................................................................273

  • MTable of Contents

    Web Services Developer’s Guide Version 10.5 8

    Certificate Mapping User and Usage Resolution Order for WS-Security........................ 276

    Securing Web Services Using WS-SecurityPolicy................................................................... 279About Implementing WS-SecurityPolicy................................................................................. 280

    Security Options You Can Achieve with WS-SecurityPolicy........................................... 280Securing Web Services Using Policies Based on WS-SecurityPolicy....................................281

    Requirements for Using SAML for Authentication...........................................................282Identifying Trusted STSs to Integration Server........................................................ 283

    Using Kerberos for Authentication.................................................................................. 284WS-SecurityPolicy Files..........................................................................................................285WS-SecurityPolicy Assertions Reference...............................................................................286

    Protection Assertions.......................................................................................................287Integrity Assertions...................................................................................................287Confidentiality Assertions......................................................................................... 287Required Elements Assertions.................................................................................288Required Parts Assertion......................................................................................... 288

    Token Assertions............................................................................................................. 288Valid Values for Attribute...........................................................291

    Security Binding Assertions.............................................................................................292Supporting Tokens...........................................................................................................295WSS: SOAP Message Security Options.........................................................................298

    Policies Based on WS-SecurityPolicy that Integration Server Provides.................................299Username_Over_Transport............................................................................................. 301Username_Signature....................................................................................................... 302Username_Encryption..................................................................................................... 304Username_Signature_Encryption.................................................................................... 306X509Authentication..........................................................................................................309X509Authentication_Signature........................................................................................ 310X509Authentication_Encryption.......................................................................................311X509Authentication_Signature_Encryption..................................................................... 313SAMLAuthentication........................................................................................................ 315SAMLAuthentication_Signature....................................................................................... 316SAMLAuthentication_Encryption.policy........................................................................... 317SAMLAuthentication_Signature_Encryption.policy..........................................................318KerberosAuthentication Policy.........................................................................................320

    Securing Web Services Using the WS-Security Facility..........................................................321About the Integration Server WS-Security Facility................................................................. 322

    Usage of WS-Security Standard for WS-Security Facility...............................................322Supported Types of Message Authentication..................................................................323Message Security Options Supported by WS-Security Facility.......................................323

    Token References.....................................................................................................325Policy Files Used by the WS-Security Facility................................................................ 325

    Configuring the WS-Security Facility......................................................................................326Before Configuring the WS-Security Facility................................................................... 327Assigning a WS-Security Handler to a Web Service Descriptor..................................... 327

  • MTable of Contents

    Web Services Developer’s Guide Version 10.5 9

    WS-Security Facility Policy Reference................................................................................... 328Policy Element.................................................................................................................329SecurityPolicy Element....................................................................................................329InboundSecurity and OutboundSecurity Elements..........................................................330

    Setting a Policy Element’s Usage Attribute............................................................. 330Timestamp Element for Outbound Messages.................................................................331Timestamp Element for Inbound Messages....................................................................331UsernameToken Element................................................................................................ 331Signature Element for Outbound Messages................................................................... 332Signature Element for Inbound Messages......................................................................333Encryption Element for Outbound Messages..................................................................334Encryption Element for Inbound Messages.................................................................... 335X509 Authentication Element for Outbound Messages.................................................. 335X509 Authentication Element for Inbound Messages..................................................... 336

    Sample Policy File..................................................................................................................337Policy Files Supplied with the WS-Security Facility............................................................... 338

    Consumer Policy Files.....................................................................................................338Provider Policy Files........................................................................................................339Consumer and Provider Policy Files...............................................................................340

    Web Services Addressing (WS-Addressing)............................................................................ 341About WS-Addressing in Integration Server...........................................................................342

    How WS-Addressing Works............................................................................................ 342About Endpoint Aliases for WS-Addressing....................................................................342WS-Addressing Versions................................................................................................. 343Using WS-Addressing in Integration Server....................................................................343

    Applying WS-Addressing to Web Service Descriptors........................................................... 344WS-Addressing Behavior of Web Service Descriptors...........................................................345

    Behavior for Inbound Messages..................................................................................... 345Behavior for Outbound Messages...................................................................................346

    WS-Addressing Policies Provided by Integration Server....................................................... 348Accessing WS-Addressing Headers of a SOAP Message.....................................................349Processing Responses Asynchronously.................................................................................350WS-Addressing and WSDL.................................................................................................... 351Generation of the WS-Addressing Headers: Resolution Order and Usage............................351

    Web Service Consumer: Request (Outbound Message) Resolution Order.................... 351Web Service Provider: Response (Outbound Message) Resolution Order.....................353Web Service Consumer: Request - Addressing Action Property Usage......................... 353Service First and WSDL First Provider Web Service Descriptor: Response (OutboundMessage) - wsa:Action Detailed Usage.......................................................................... 354

    Web Services Reliable Messaging (WS-ReliableMessaging).................................................. 357About Web Services Reliable Messaging in Integration Server............................................. 358Using Reliable Messaging in Integration Server.................................................................... 358

    Persistent Storage Support for Reliable Messaging Data...............................................359Limitations When Using Reliable Messaging in Integration Server.................................360

  • MTable of Contents

    Web Services Developer’s Guide Version 10.5 10

    Provided WS-SecurityPolicies vs. WS-Security Facility Policies............................................361Overview................................................................................................................................. 362Policies that Provide Username Authentication..................................................................... 362Policies that Provide Authentication Using X.509 Certificates............................................... 363Policies that Provide SAML Authentication............................................................................ 364Policies that Provide Signature and Encryption Without Authentication.................................364

    CDATA Blocks in Inbound and Outbound SOAP Messages................................................... 365Support for Preserving CDATA Tag Delimiters in Inbound SOAP Messages......................... 366Support for Processing CDATA Blocks in Outbound SOAP Messages..................................366Encoding CDATA Blocks in Outbound SOAP Messages....................................................... 367

    Omitting Well-Known Schema Locations from Generated WSDL.......................................... 369

    Preserving Namespace Declarations when Decoding xsd:any Elements..............................371

  • MOdd Header

    Web Services Developer’s Guide Version 10.5 11

    About this Guide

    This guide is for developers who want to use Software AG Designer to create webservices and incorporate web services into the integration solutions they develop.

    This guide contains the following:

    An introduction to web service descriptors and web service connectors—thefundamental elements for web services in Integration Server.

    Conceptual and procedural information for creating and configuring web servicedescriptors.

    A description of the web service connector signature, including how IntegrationServer represents the elements of a SOAP fault in the pipeline.

    Detailed information about Integration Server processing, including authenticationand authorization for web services, construction of endpoint URLs, use ofSOAPAction to locate an operation, and array handling.

    Steps to configure MTOM streaming when sending and receiving SOAP messagesusing web services.

    In depth information about securing web services with WS-Security and WS-SecurityPolicy.

    Note: This guide describes features and functionality that may or may not beavailable with your licensed version of webMethods Integration Server. Forinformation about the licensed components for your installation, see theSettings > License page in the webMethods Integration Server Administrator.

    Document Conventions

    Convention Description

    Bold Identifies elements on a screen.

    Narrowfont Identifies service names and locations in the formatfolder.subfolder.service , APIs, Java classes, methods, properties.

    Italic Identifies:

    Variables for which you must supply values specific to your ownsituation or environment.New terms the first time they occur in the text.

  • MEven Header

    Web Services Developer’s Guide Version 10.5 12

    Convention DescriptionReferences to other documentation sources.

    Monospacefont

    Identifies:

    Text you must type in.Messages displayed by the system.Program code.

    { } Indicates a set of choices from which you must choose one. Typeonly the information inside the curly braces. Do not type the { }symbols.

    | Separates two mutually exclusive choices in a syntax line. Typeone of these choices. Do not type the | symbol.

    [ ] Indicates one or more options. Type only the information insidethe square brackets. Do not type the [ ] symbols.

    ... Indicates that you can type multiple options of the same type.Type only the information. Do not type the ellipsis (...).

    Online Information and SupportSoftware AG Documentation Website

    You can find documentation on the Software AG Documentation website at “hp://documentation.softwareag.com”. The site requires credentials for Software AG's ProductSupport site Empower. If you do not have Empower credentials, you must use theTECHcommunity website.

    Software AG Empower Product Support Website

    If you do not yet have an account for Empower, send an email to“[email protected]” with your name, company, and company email addressand request an account.

    Once you have an account, you can open Support Incidents online via the eServicesection of Empower at “hps://empower.softwareag.com/”.

    You can find product information on the Software AG Empower Product Supportwebsite at “hps://empower.softwareag.com”.

    To submit feature/enhancement requests, get information about product availability,and download products, go to “Products”.

    http://documentation.softwareag.comhttp://documentation.softwareag.commailto:[email protected]://empower.softwareag.com/https://empower.softwareag.comhttps://empower.softwareag.com/Products/default.asp

  • MOdd Header

    Web Services Developer’s Guide Version 10.5 13

    To get information about fixes and to read early warnings, technical papers, andknowledge base articles, go to the “Knowledge Center”.

    If you have any questions, you can find a local or toll-free number for your countryin our Global Support Contact Directory at “hps://empower.softwareag.com/public_directory.asp” and give us a call.

    Software AG TECHcommunity

    You can find documentation and other technical information on the Software AGTECHcommunity website at “hp://techcommunity.softwareag.com”. You can:

    Access product documentation, if you have TECHcommunity credentials. If you donot, you will need to register and specify "Documentation" as an area of interest.

    Access articles, code samples, demos, and tutorials.

    Use the online discussion forums, moderated by Software AG professionals, toask questions, discuss best practices, and learn how other customers are usingSoftware AG technology.

    Link to external websites that discuss open standards and web technology.

    Data ProtectionSoftware AG products provide functionality with respect to processing of personal dataaccording to the EU General Data Protection Regulation (GDPR). Where applicable,appropriate steps are documented in the respective administration documentation.

    https://empower.softwareag.com/KnowledgeCenter/default.asphttps://empower.softwareag.com/public_directory.asphttps://empower.softwareag.com/public_directory.asphttp://techcommunity.softwareag.com

  • MEven Header

    Web Services Developer’s Guide Version 10.5 14

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 15

    1   Working with Web Services■ What Are Web Service Descriptors? ........................................................................................... 16

    ■ About Provider Web Service Descriptors .................................................................................... 17

    ■ About Consumer Web Service Descriptors ................................................................................. 32

    ■ About Refreshing a Web Service Descriptor ............................................................................... 44

    ■ Viewing the WSDL Document for a Web Service Descriptor ...................................................... 55

    ■ WS-I Compliance for Web Service Descriptors ........................................................................... 56

    ■ Changing the Target Namespace for a Web Service Descriptor ................................................. 58

    ■ Viewing the Namespaces Used within a WSDL Document ......................................................... 58

    ■ Enabling MTOM/XOP Support for a Web Service Descriptor ...................................................... 58

    ■ Adding SOAP Headers to the Pipeline ........................................................................................ 60

    ■ Validating SOAP Response ......................................................................................................... 60

    ■ Validating Schemas Associated with a Web Service Descriptor ................................................. 61

    ■ Working with Binders ................................................................................................................... 64

    ■ Working with Operations .............................................................................................................. 73

    ■ Adding Headers to an Operation ................................................................................................. 79

    ■ About SOAP Fault Processing ..................................................................................................... 81

    ■ Viewing Document Types for a Header or Fault Element ........................................................... 87

    ■ Working with Handlers ................................................................................................................. 88

    ■ Working with Policies ................................................................................................................... 90

    ■ About Pre-8.2 Compatibility Mode ............................................................................................... 92

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 16

    Web services are building blocks for creating open, distributed systems. A web service is acollection of functions that are packaged as a single unit and published to a network foruse by other software programs. For example, you could create a web service that checksa customer’s credit or tracks delivery of a package. If you want to provide higher-levelfunctionality, such as a complete order management system, you could create a webservice that maps to many different IS flow services, each performing a separate ordermanagement function.

    Designer uses web service descriptors to encapsulate information about web servicesand uses web service connectors to invoke web services.

    Note: Information about web services is located in webMethods Service DevelopmentHelp, Web Services Developer’s Guide, and webMethods Integration ServerAdministrator’s Guide.

    webMethods Service Development Help includes this “Working with WebServices” topic which provides procedures for using Designer to createweb service descriptors, adding operations, binders, handlers, and policiesto a web service descriptor; and seing web service descriptor properties.

    Web Services Developer’s Guide contains information such as howIntegration Server processes web services, how a SOAP fault isrepresented in the pipeline, steps to configure MTOM streaming whensending and receiving SOAP messages using web services, and howto secure web services with WS-Security and WSSecurityPolicy. Forcompleteness, Web Services Developer’s Guide also contains the “Workingwith Web Services” topic that appears in webMethods Service DevelopmentHelp.

    webMethods Integration Server Administrator’s Guide contains informationabout creating web service endpoint alias and configuring IntegrationServer to use web services reliable messaging.

    What Are Web Service Descriptors?A web service descriptor (WSD) is an element on Integration Server that defines a webservice in IS terms. The WSD encapsulates all the information required by the provideror the consumer (requester) of a web service. The WSD contains the message formats,data types, transport protocols, and transport serialization formats that should be usedbetween the consumer (requester) and the provider of the web service. It also specifiesone or more network locations at which a web service can be invoked. In essence, theWSD represents an agreement governing the mechanics of interacting with that service.

    A provider web service descriptor defines a web service that is hosted on the IntegrationServer, that is, a service “provided” to external users. A provider web servicedescriptor will expose one or more IS services as operations, which can be publishedto a registry as a single web service. External users can access the web servicethrough the registry and invoke the IS services remotely.

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 17

    A consumer web service descriptor defines an external web service, allowing IntegrationServer to create a web service connector (WSC) for each operation in the web service.The web service connector(s) can be used in Designer just like any other IS flowservice; when a connector is invoked it calls a specific operation of a web service.In version 9.0 and later, Integration Server also creates a response service for eachoperation in the web service. Response services are flow services to which you canadd custom logic to process asynchronous SOAP responses.

    About Provider Web Service DescriptorsYou can turn any service in any Integration Server package into a web service by usingthe IS service as an operation in a provider web service descriptor. Integration Serverprovides an environment for executing services efficiently and securely. It receives anddecodes requests from clients, calls the requested services, and encodes and returns theoutput to the clients.

    A provider web service descriptor (WSD) is created from one or more IS services or froma single WSDL document, and is designed to allow the IS services to be invoked asweb services over a network. The provider web service descriptor contains all the datarequired to create a WSDL document for the IS web service, as well as the data needed atrun time to process the request and response.

    You can create a provider web service descriptor from a service that exists on IntegrationServer or from a WSDL document.

    A service first provider web service descriptor refers to provider web service descriptorscreated from an existing service on Integration Server. In this case, you specifythe protocol, binding style/use, and host server when creating the WSD. The ISservice becomes an operation in the provider web service descriptor. IntegrationServer uses the existing service signature as the input and output messages for theoperation. You can add operations and bindings to a service first provider webservice descriptor.

    A WSDL first provider web service descriptor refers to a provider web service descriptorcreated from an existing WSDL document, from a service asset in CentraSite, orfrom a web service acquired from a UDDI registry. In this case, Designer uses themessage and operation definitions from the WSDL to generate a “placeholder” flowservice for each operation encountered in the WSDL, along with IS document typesdefining the input and output signature of the generated flow services. You can thenimplement any required logic within the placeholder flow service. Note that youcannot add operations or bindings to a WSDL first provider WSD.

    The provider web service descriptor can be published to a UDDI registry (or otherpublicly accessible server) as a web service, which can be invoked remotely by anexternal user. A web service provider can also distribute WSDL files directly toconsumers.

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 18

    Service Signature Requirements for Service First Provider WebService DescriptorsWhen you create a service first provider web service descriptor, you select one or moreservices to use as operations. The service signature becomes the input and outputmessages for the operations in the WSDL document. However, Integration Server allowsconstructs within service signatures that cannot be represented in certain web servicestyle/use combinations.

    When adding a service to or creating a service first provider web service descriptor,Integration Server verifies that the service signature can be represented in the style/usespecified for the web service descriptor. If a service signature does not meet the style/usesignature requirements, Integration Server will not add the service as an operation. Or,in the case of creating a service first provider WSD, Integration Server will not create theWSD.

    Following, is a list of service signature restrictions and requirements for each style/use.Note that this list may not be exhaustive.

    Signature Restrictions for Document/Literal

    *body fields are not allowed at the top level

    @aribute fields (fields starting with the “@” symbol) are not allowed at the toplevel

    String table fields are not allowed

    Signature Restrictions for RPC/Encoded

    * body fields are not allowed

    @aribute fields are not allowed (fields starting with the “@” symbol)

    Top-level fields cannot be namespace qualified

    Top-level field names cannot be in the format prefix :localName

    Signature Restrictions for RPC/Literal

    *body fields are not allowed at the top level

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 19

    Signature Restrictions for RPC/Literal

    @aribute fields (fields starting with the “@” symbol) are not allowed at the toplevel

    String table fields are not allowed

    List fields (String List, Document List, Document Reference List, and Object List)are not allowed at the top level

    Duplicate field names (identically named fields) are not allowed at the top level

    Top-level fields cannot be namespace qualified

    Top-level field names cannot be in the format prefix :localName

    Using XML Namespaces with Prefixes with Fields in Service SignaturesYou can associate the name of an Integration Server field (such as an IS documentvariable) with an XML namespace. When you do this, the local name is the name of thefield and the XML namespace name is the URI that identifies the namespace. You canalso include a prefix as part of the name.

    Assign XML namespaces and prefixes to Integration Server fields as follows:

    To assign an XML namespace to an Integration Server field, complete the XMLNamespace property in the General category of the field’s Properties view.

    To assign a prefix to an Integration Server field, precede the field name with theprefix followed by a colon (for example, prefix :variableName ).

    Note: The style/use combinations RPC/Literal and RPC/Encoded prohibit top-levelfield from being namespace qualified.

    Handling Incomplete Service Signatures Using Wrapper ServicesWhen you use a service as an operation in a web service descriptor, the service signaturemust accurately and completely reflect the expected service input and output.

    If the signature is not accurate or complete, the WSDL document created for the webservice descriptor will contain incorrect signature information. Clients generated fromthe WSDL document may not execute as expected.

    However, sometimes it may not be possible to make the service signature completebefore using it in a web service descriptor or you may not want to alter the servicesignature. In these situations, you can expose the service as a web service by creating awrapper service. The wrapper service needs to declare the complete service signature

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 20

    and invoke the service that you want to expose as a web service. You can then use thewrapper service as an operation in a provider web service descriptor.

    For example, suppose that you want to expose an XSLT service as a web service onone Integration Server and invoke it from another. However, the XSLT source containsan optional run-time property that is added to the pipeline at run time. This optionalproperty is not reflected in the input signature of the XSLT service. If you added theXSLT service to a provider web service descriptor, the resulting WSDL document wouldnot list the property as part of the input message. Consequently, a consumer web servicedescriptor and a web service connector created from the WSDL document would notaccount for the property and invocation will fail.

    To successfully use the XSLT service as a web service, you can do the following:

    1. Create a wrapper flow service that:

    Defines all of the input parameters of the XSLT service in its input signature.

    Defines the run-time property of the XSLT source in its input signature.

    Invokes the XSLT service.

    2. On the Integration Server that hosts the wrapper flow service and the XSLT service,create a provider web service descriptor from the wrapper flow service.

    On the Integration Server from which you will invoke the web service, create aconsumer web service descriptor from the WSDL of the provider web service descriptor.The web service connector that corresponds to the operation for the XSLT service willdisplay the complete input signature.

    Creating a Service First Provider Web Service DescriptorKeep the following points in mind when creating a service first provider web servicedescriptor:

    You must have Write access to the folder in which you want to store the providerweb service descriptor.

    The style and use selected for a provider web service descriptor determines whattypes of fields and field names are allowed in the service signature. Designer willnot create a provider web service descriptor if the signature of the service does notmeet the requirements of the selected binding style/use. For more information, see“Service Signature Requirements for Service First Provider Web Service Descriptors”on page 18.

    Depending on the use and style that you specify, you may have to either renamecertain fields in the IS service or assign an XML namespace to them.

    You must have at least one web service endpoint alias that specifies the JMStransport before you can create a provider web service descriptor with a JMS binder.For more information about creating a web service endpoint alias, see the sectionConfiguring Endpoint Aliases for Web Services in the webMethods Integration ServerAdministrator’s Guide.

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 21

    When using an adapter service to create a provider web service descriptor, if theservice returns values in the pipeline that do not match the output signature, youmust change those variable properties to optional fields (where applicable), or elsewrap the service in a flow to add or drop variables to match the output signature.

    Web service descriptors that are not running in compatibility mode can streamMTOM aachments for both inbound and outbound SOAP messages. To streamMTOM aachments, the object that represents the field to be streamed should be oftype com.wm.util.XOPObject Java class.

    You can quickly create a service first provider web service descriptor by right-clicking the service, selecting Generate Provider WSD. Enter a name for the web servicedescriptor in the Provide a Name dialog box and click OK. Designer automaticallycreates a provider web service descriptor in the same folder as the selected IS service,using all the default options.

    Integration Server generates invalid WSDL for Axis and .Net clients if the providerweb service descriptor contains a C service for that takes a document specification asinput. Axis and .Net clients cannot handle the resulting Java stub classes and throwan error. Do not use a C service with a document specification in the input in a serverfirst provider web service descriptor if you know that the resulting WSDL will beused by Axis and .Net clients.

    To create a service first provider web service descriptor

    1. In the Package Navigator view of Designer, click File > New > Web Service Descriptor.

    2. In the New Web Service Descriptor dialog box, select the folder in which you want tosave the provider web service descriptor. Click Next.

    3. In the Element Name field, specify a name for the provider web service descriptorusing any combination of leers, numbers, and/or the underscore character. ClickNext.

    4. Under Create web service descriptor as, select Provider (Inbound Request).

    5. Under Web service source, select Existing IS service(s).

    6. Click Next.

    7. Select one or more services to include as operations in the provider web servicedescriptor. Click Next.

    8. Provide the following information:

    In this field... Specify...

    SOAP version Whether SOAP messages for this web service should use SOAP1.1 or SOAP 1.2 message format.

    Transport The transport protocol used to access the web service. Selectone of the following:

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 22

    In this field... Specify...

    HTTP

    HTTPS

    JMS

    Use and stylefor operations

    The style/use for operations in the provider web servicedescriptor. Select one of the following:

    Document - Literal

    RPC - Literal

    RPC - Encoded

    Endpoint The address at which the web service can be invoked. Do oneof the following:

    To use a provider web service endpoint alias to specifythe address, select the Alias option. Then, in the Alias list,select the provider web service endpoint alias. SelectDEFAULT(aliasName ) if you want to use the informationin the default provider web service endpoint alias for theaddress. If the Alias list includes a blank row, the IntegrationServer does not have a default provider web service endpointalias for the protocol.

    Note: If you select the blank row and a default providerendpoint alias is later set for the selected protocol,Integration Server then uses the information from thealias when constructing the WSDL document andduring run-time processing.

    To specify a host and port as the address, select the Hostoption. Then, in the Host field specify the host name for theIntegration Server on which the web service resides. In thePort field, specify an active HTTP or HTTPS listener portdefined on the Integration Server specified in the Host field.

    Note: You can only specify Host and Port for the endpointif a default provider endpoint alias does not existfor the selected protocol. When a default alias exists,Designer populates the Host and Port fields with thehost and port from the default provider end pointalias.

    Note: If you selected JMS as the transport, you must specify analias. After you select a provider web service endpointalias, Designer displays the initial portion of the JMS URI

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 23

    In this field... Specify...that will be used as the address in the Port address (prefix)field.

    Directive The SOAP processor used to process the SOAP messagesreceived by the operation in the provider web servicedescriptor. The Directive list displays all of the SOAPprocessors registered on the Integration Server. The defaultprocessor is ws - Web Services SOAP Processor.

    Targetnamespace

    The URL that you want to use as the target namespace forthe provider web service descriptor. In a WSDL documentgenerated for this provider web service descriptor theelements, aributes, and type definitions will belong to thisnamespace.

    Note: If you specify a transport, but do not specify a host, port, or endpoint alias,Integration Server uses the primary port as the port in the endpoint URL.If the selected transport and the protocol of the primary port do not match,web service clients will not execute successfully. For more information see“Protocol Mismatch Between Transport and Primary Port” on page 24.

    9. Under Enforce WS-I Basic Profile 1.1 compliance do one of the following:

    Select Yes if you want Designer to validate all the web service descriptor objectsand properties against the WS-I requirements before creating the web servicedescriptor.

    Select No if you do not want Designer to enforce compliance for WS-I BasicProfile 1.1.

    Note: WS-I compliance cannot be enforced if the WSDL contains a SOAP overJMS binding.

    10. If you want Integration Server to use the Xerces Java parser to validate the schemaelements that represent the signatures of the services used as operations, select theValidate schema using Xerces check box.

    11. Click Finish.

    If Designer cannot create or cannot completely generate a web service descriptor,Designer displays error messages or warning messages.

    Notes:

    If you selected the Validate schema using Xerces check box, when creating a servicefirst provider web service descriptor, Integration Server converts the signatures ofthe services used as operations to XML schema elements. Then Integration Serveruses the Xerces Java parser to validate the schema elements. If the schema elementdoes not conform syntactically to the schema for XML Schemas defined in XML

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 24

    Schema Part 1: Structures (which is located at “hp://www.w3.org/TR/xmlschema-1”),Integration Server does not create the web service descriptor. Instead, Designerdisplays an error message that lists the number, title, location, and description of thevalidation errors.

    Note: Integration Server uses Xerces Java parser version J-2.11.0. Limitationsfor this version are listed at “hp://xerces.apache.org/xerces2-j/xml-schema.html”.

    Set up a package dependency if an IS service uses a document type from a differentpackage as the input or output signature.

    The Message Exchange Paern (MEP) that Integration Server uses for the operationit creates from the service can be In-Out MEP or In-Only MEP. Integration Serveralways uses In-Out MEP when the web service descriptor’s Pre-8.2 compatibility modeproperty is true. When this property is false, Integration Server uses:

    In-Out MEP when the service signature contains both input and outputparameters.

    In-Only MEP when the service signature contains no output parameters.

    Note: If you want to use Robust In-Only MEP rather than In-Only MEP,after creating the web service descriptor for a service with no outputparameters, add a fault to the operation.

    For more information about Integration Server MEP support, see the section HowIntegration Server Determines the MEP Type to Use in the Web Services Developer’s Guide.

    Protocol Mismatch Between Transport and Primary PortA protocol mismatch between the transport for a binder in a provide web servicedescriptor and the primary port can occur in the following situations:

    When creating a service first web service descriptor, you specify a transport, butdo not specify a host, port, or endpoint alias and there is not a default providerendpoint alias for the transport protocol, Integration Server uses the primary port asthe port in the endpoint URL.

    When creating a WSDL first provider web service descriptor and default providerendpoint alias is not specified for the protocol used by the binding in the WSDLdocument. Integration Server uses the primary port as the port in the endpoint URL.

    If the selected transport and the protocol of the primary port do not match, Designerdisplays the following warning when you save the provider web service descriptor:Selected transport protocol does not match that of the primary port on Integration Server.

    For example, suppose that you specify a transport of HTTPS when creating the providerweb service descriptor, but do not specify a host, port, or endpoint alias. Additionally,Integration Server does not identify a default web service provider endpoint alias for

    http://www.w3.org/TR/xmlschema-1/http://xerces.apache.org/xerces2-j/xml-schema.htmlhttp://xerces.apache.org/xerces2-j/xml-schema.html

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 25

    HTTPS. Furthermore, the primary port is an HTTP port. In this situation, Designerdisplays the above message.

    You must resolve this mismatch before making a WSDL document for this provider webservice descriptor available to web service consumers. Otherwise, the web service clientswill not execute successfully.

    Creating a WSDL First Provider Web Service DescriptorYou can create a WSDL first provider web service descriptor from a WSDL documentaccessed via a URL, from a UDDI registry, or from a service asset in CentraSite.

    Keep the following points in mind when creating a WSDL first provider web servicedescriptor:

    You must have Write access to the folder in which you want to store the providerweb service descriptor.

    If the URL for the WSDL contains special characters that need to be encoded, specifythe encoding using the Encoding for WSDL URL option in the Web Service DescriptorEditor Preferences page.

    Before you can create a provider web service descriptor from a WSDL documentthat contains a JMS binding, you must have at least one valid web service endpointalias that specifies the JMS transport. When you create a provider web servicedescriptor from a WSDL document that specifies a SOAP over JMS binding,Designer automatically assigns the first valid provider web service endpoint alias forJMS to the web service descriptor binder. If there is not valid endpoint alias for JMS,the web service descriptor cannot be created. For example, if the only web serviceendpoint alias that exists for JMS specifies a SOAP-JMS trigger that no longer exists,Integration Server does not consider the endpoint to be valid and does not create theweb service descriptor.

    To create a WSDL first provider web service descriptor from a web service in a UDDIregistry, Designer must be configured to connect to that UDDI registry.

    To create a WSDL first provider web service descriptor from a service asset inCentraSite, Designer must be configured to connect to CentraSite.

    You can also create a provider web service descriptor from a service asset inCentraSite by dragging and dropping the service asset from the Registry Explorerview into Package Navigator view. Designer prompts you for a name for theweb service descriptor and prompts you to indicate whether you want to create aconsumer or provider web service descriptor.

    You can specify whether Integration Server enforces strict, lax, or no content modelcompliance when generating IS document types from the XML Schema definitioncontained or referenced in the WSDL document. Content models provide a formaldescription of the structure and allowed content for a complex type. The type ofcompliance that you specify can affect whether Integration Server generates an ISdocument type from a particular XML Schema definition successfully.

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 26

    Do not create a WSDL first provider web service descriptor from a WSDL thatspecifies RPC-Encoded, contains aributes in its operation signature, and/or hascomplex type definitions with mixed content. Integration Server might successfullycreate a web service descriptor from such WSDLs. However, the web servicedescriptor may exhibit unexpected runtime behavior.

    To create a WSDL first provider web service descriptor

    1. In Package Navigator view, click File > New > Web Service Descriptor.

    2. In the New Web Service Descriptor dialog box, select the folder in which you want tosave the provider web service descriptor. Click Next.

    3. In the Element Name field, specify a name for the provider web service descriptorusing any combination of leers, numbers, and/or the underscore character. ClickNext.

    4. Under Create web service descriptor as, select Provider (Inbound Request).

    5. Under Web service source, select WSDL. Click Next.

    6. Under Source location, do one of the following:

    Select... To generate a provider web service descriptor from...

    CentraSite A service asset in CentraSite

    File/URL A WSDL document that resides on the file system oron the Internet.

    UDDI A WSDL document in a UDDI registry

    7. Click Next.

    8. If you selected CentraSite as the source, under Select Web Service fromCentraSite,select the service asset in CentraSite that you want to use to create the web servicedescriptor. Click Next.

    Designer filters the contents of the Services folder to display only service assets thatare web services.

    If Designer is not configured to connect to CentraSite, Designer displays theCentraSite> Connections preference page and prompts you to configure a connectionto CentraSite.

    9. If you selected File/URL as the source, do one of the following:

    Enter the URL for the WSDL document. The URL should begin with hp:// orhps://. Click Next.

    Click Browse to navigate to and select a WSDL document on your local filesystem. Click Next.

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 27

    10. If you selected UDDI as the source, under Select Web Service from UDDI Registry, selectthe web service from the UDDI registry. Click Next.

    If Designer is not currently connected to a UDDI registry, the Open UDDI RegistrySession dialog box appears. Enter the details to connect to the UDDI registry andclick Finish.

    11. Under Content model compliance, select one of the following to indicate how strictlyIntegration Server enforces content model compliance when creating IS documenttypes from the XML Schema definition in the WSDL document.

    Select... To...

    Strict Generate the IS document type only if Integration Server canrepresent the content models defined in the XML Schemadefinition correctly. Document type generation fails ifIntegration Server cannot accurately represent the contentmodels in the source XML Schema definition.

    Currently, Integration Server does not support repeatingmodel groups, nested model groups, or the any aribute.If you select strict compliance, Integration Server doesnot generate an IS document type from any XML schemadefinition that contains those items.

    Note: If Integration Server cannot generate an IS documenttype that complies with the content model in the XMLschema definition in the WSDL document, IntegrationServer will not generate the provider web servicedescriptor.

    Lax When possible, generate an IS document type that correctlyrepresents the content models for the complex types definedin the XML schema definition from the WSDL document.If Integration Server cannot correctly represent the contentmodel in the XML Schema definition in the resulting ISdocument type, Integration Server generates the IS documenttype using a compliance mode of None.

    When you select lax compliance, Integration Server willgenerate the IS document type even if the content models inthe XML schema definition cannot be represented correctly.

    None Generate an IS document type that does not necessarilyrepresent or maintain the content models in the source XMLSchema definition.

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 28

    Select... To...

    When compliance is set to none, Integration Server generatesIS document types the same way they were generated inIntegration Server releases prior to version 8.2.

    12. Select the Enable MTOM streaming for elements of type base64Binary check box if you wantelements declared to be of type base64Binary in the WSDL or schema to be enabledfor streaming of MTOM aachments. For more information about MTOM streamingfor web services, see the Web Services Developer’s Guide.

    13. If you want Integration Server to use the Xerces Java parser to validate any schemaelements in the WSDL document or any referenced XML Schema definitions beforecreating the web service descriptor, select the Validate schema using Xerces check box.

    Note: Integration Server automatically uses the internal schema parser tovalidate the schemas in or referenced by a WSDL document. However, theXerces Java parser provides stricter validation than the Integration Serverinternal schema parser. As a result, some schemas that the internal schemaparser considers to be valid might be considered invalid by the Xerces Javaparser. While validation by the Xerces Java parser can increase the time ittakes to create a web service descriptor and its associated elements, usingstricter validation can help ensure interoperability with other web servicevendors.

    14. Under Enforce WS-I Basic Profile 1.1 compliance do one of the following:

    Select Yes if you want Designer to validate all the WSD objects and propertiesagainst the WS-I requirements before creating the WSD.

    Select No if you do not want Designer to enforce compliance for WS-I BasicProfile 1.1.

    Note: WS-I Basic Profile 1.0 supports only HTTP or HTTPS bindings.Consequently, WS-I compliance cannot be enforced if the WSDL contains aSOAP over JMS binding.

    15. Click Next if you want to specify different prefixes than those specified in the XMLschema definition. If you want to use the prefixes specified in the XML schemadefinition itself, click Finish.

    16. On the Assign Prefixes panel, if you want the web service descriptor to use differentprefixes than those specified in the XML schema definition, select the prefix youwant to change and enter a new prefix. Repeat this step for each namespace prefixthat you want to change.

    Note: The prefix you assign must be unique and must be a valid XML NCNameas defined by the specification “hp://www.w3.org/TR/REC-xml-names/#NT-NCName”.

    http://www.w3.org/TR/REC-xml-names/#NT-NCNamehttp://www.w3.org/TR/REC-xml-names/#NT-NCName

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 29

    17. Click Finish.

    Designer creates the provider web service descriptor and saves it to the folder youspecified. Designer also creates supporting IS elements, such as flow services, ISdocument types, and IS schemas.

    If Designer cannot create or cannot completely generate a provider web servicedescriptor, Designer displays error messages or warning messages.

    18. If Integration Server determines that an XML Schema definition included in orreferenced by the WSDL document is invalid or cannot be generated according tothe selected content model compliance option, Designer displays the validationerror message at the top of the Select Document Type Generation Options panel.Click Cancel to abandon this aempt to create a consumer web service descriptor.Alternatively, click Back to navigate to previous panels and change your selections.

    19. If the WSDL document contains constructs that the current web services stackdoes not support, Designer displays a message identifying the reasons the webservice descriptor cannot be created on the current web services stack. Designerthen prompts you to create the web service descriptor using an earlier version of theweb services stack. If you want to create the web service descriptor using the earlierversion of the web services stack, click OK. Otherwise, click Cancel.

    Notes:

    If the WSDL document contains a construct supported on the web servicesimplementation introduced in Integration Server 7.1 but not on the current WebServices Stack, Designer gives you the option of creating the web service descriptorusing the earlier web services implementation. If the WSDL document contains anyof the following, Designer prompts you to use the web services implementationintroduced in 7.1:

    Mixed “use” values across bindings and operations referenced by services in theWSDL document.

    Mixed “style” values across bindings referenced by services in the WSDL.

    More than one operation with the same name in the same port type.

    Bindings that do not contain all of the operations declared in the port type.

    Services with multiple bindings that reference different port types.

    If you create the web services descriptor using the earlier version of the web servicesstack, the Pre-8.2 compatibility mode property will be set to true for the resulting webservice descriptor.

    Note: The Pre-8.2 compatibility mode property and the ability to run in pre-8.2compatibility mode are deprecated as of Integration Server 10.4 due to thedeprecation of the web services implementation introduced in IntegrationServer version 7.1.

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 30

    Integration Server does not create a provider web service descriptor if the WSDLdocument contains any bindings that are not supported by Integration Server.

    Integration Server will create duplicate operations in case the WSDL document hasmultiple port names for the same binding. To ensure that duplicate operations arenot created, modify the WSDL to make the port name unique for each binding.

    When creating the binders for a WSDL first provider web service descriptorgenerated from a WSDL document with an HTTP or HTTPS binding, IntegrationServer assigns the default provider endpoint alias for HTTP or HTTPS to the binder.Integration Server uses the information from the default provider endpoint aliasduring WSDL generation and run-time processing. Integration Server determineswhether to use the HTTP or HTTPS default provider endpoint alias by selectingthe default alias for the protocol specified in the soap:addressLocation aribute ofthe wsdl:port element. If a default provider endpoint alias is not specified for theprotocol used by the binding in the WSDL document, Integration Server uses itsown hostname as the host and the primary port as the port. If the binding transportprotocol is not the same as the primary port protocol, the web service descriptorhas a protocol mismatch that you must resolved before making a WSDL generatedfrom the descriptor available to consumers. For more information about a protocolmismatch, see “Protocol Mismatch Between Transport and Primary Port”.

    Note: The default provider endpoint alias also determines security, WS-Addressing, and WS-Reliable Messaging information for the web servicedescriptor and resulting WSDL document.

    Integration Server uses the internal schema parser to validate the XML schemadefinition associated with the WSDL document. If you selected the Validate schemausing Xerces check box, Integration Server also uses the Xerces Java parser to validatethe XML Schema definition. With either parser, if the XML Schema does notconform syntactically to the schema for XML Schemas defined in XML Schema Part1: Structures (which is located at “hp://www.w3.org/TR/xmlschema-1”), IntegrationServer does not create an IS schema or an IS document type for the web servicedescriptor. Instead, Designer displays an error message that lists the number, title,location, and description of the validation errors within the XML Schema definition.

    Note: Integration Server uses Xerces Java parser version J-2.11.0. Limitationsfor this version are listed at “hp://xerces.apache.org/xerces2-j/xml-schema.html”.

    When validating XML schema definitions, Integration Server uses the Perl5 regularexpression compiler instead of the XML regular expression syntax defined by theWorld Wide Web Consortium for the XML Schema standard. As a result, in XMLschema definitions consumed by Integration Server, the paern constraining facetmust use valid Perl regular expression syntax. If the supplied paern does not useproper Perl regular expression syntax, Integration Server considers the paern to beinvalid.

    http://www.w3.org/TR/xmlschema-1/http://xerces.apache.org/xerces2-j/xml-schema.htmlhttp://xerces.apache.org/xerces2-j/xml-schema.html

  • MOdd Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 31

    Note: If the wa.core.datatype.usejavaregex configuration parameter is set totrue, Integration Server uses the Java regular expression compiler insteadof the Perl5 regular expression compiler. When the parameter is true,the paern constraining facet in XML schema definitions must use validsyntax as defined by the Java regular expression.

    When creating the document types for the provider web service descriptor,Integration Server registers each document type with the complex type definitionfrom which it was created in the schema. This enables Integration Server to providederived type support for document creation and validation.

    If you selected strict compliance and Integration Server cannot represent the contentmodel in the complex type accurately, Integration Server does not generate any ISdocument types or the web service descriptor.

    The contents of an IS document type with a Model type property value other than“Unordered” cannot be modified.

    For an IS document type from a WSDL document, Designer displays the locationof the WSDL in the Source URI property. Designer also sets the Linked to sourceproperty to true which prevents any editing of the document type contents. To editthe document type contents, you first need to make the document type editable bybreaking the link to the source. However, Software AG does not recommend editingthe contents of document types created from WSDL documents.

    If the source WSDL document is annotated with WS-Policy:

    Integration Server enforces the annotated policy at run time. However, if youaach a policy from the policy repository to the web service descriptor, theaached policy will override the original annotated policy.

    Integration Server will only enforce supported policy assertions in the annotatedpolicy. For information about supported assertions, see the Web ServicesDeveloper’s Guide.

    Integration Server does not save the annotated policy in the policy repository.

    The Message Exchange Paern (MEP) that Integration Server uses for an operationdefined in the WSDL can be In-Out MEP, In-Only MEP, or Robust In-Only MEP.Integration Server always uses In-Out MEP when the web service descriptor’sPre-8.2 compatibility mode property is set to true. When this property is set to false,Integration Server uses:

    In-Out MEP when an operation has defined input and output.

    In-Only MEP when an operation has no defined output and no defined fault.

    Robust In-Only MEP when an operation has no defined output, but does have adefined fault.

    For more information about Integration Server MEP support, see the section HowIntegration Server Determines the MEP Type to Use in the Web Services Developer’s Guide.

  • MEven Header

    Working with Web Services

    Web Services Developer’s Guide Version 10.5 32

    If the WSDL is annotated with WS-Policy, Integration Server will only enforcesupported policy assertions. Currently Integration Server supports only WS-Securitypolicies. Also be aware that Integration Server does not save the WS-Policy that isin the WSDL in the policy repository. Integration Server will enforce the annotatedpolicy unless a policy that resides in the Integration Server policy repository isspecifically aached to the web service descriptor. If you aach a policy to the webservice descriptor, the aached policy will override the original annotated policy.

    Integration Server creates the docTypes and services folders to store the IS documenttypes, IS schemas, and skeleton services generated from the WSDL document.These folders are reserved for elements created by Integration Server for the webservice descriptor only. Do not place an custom IS elements in these folders. Duringrefresh of a web service descriptor, the c