<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2004 The Apache Software Foundation

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License. -->

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.telkomsel.com/soa/ProductCatalog/WS" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.telkomsel.com/soa/ProductCatalog/WS">
  <types>
    <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://www.telkomsel.com/soa/ProductCatalog/200606" xmlns:ws="http://www.telkomsel.com/soa/ProductCatalog/WS" xmlns:com="commonj.sdo" elementFormDefault="qualified" targetNamespace="http://www.telkomsel.com/soa/ProductCatalog/WS">
      <s:import namespace="http://www.telkomsel.com/soa/ProductCatalog/200606"/>
      <s:import namespace="commonj.sdo"/>
      <s:element name="getPackageDefinition">
        <s:complexType>
          <s:sequence>
            <s:element name="packageId" type="s:string" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getPackageDefinitionResponse">
        <s:complexType>
          <s:sequence>
            <s:element ref="ns:PackageDefinition"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getPackageDefinitions">
        <s:complexType>
          <s:sequence/>
        </s:complexType>
      </s:element>
      <s:element name="getPackageDefinitionsResponse">
        <s:complexType>
          <s:sequence>
            <s:element name="getPackageDefinitionsResult" type="ws:ArrayOfPackageDefinitionDocument" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ArrayOfPackageDefinitionDocument" nillable="true" type="ws:ArrayOfPackageDefinitionDocument"/>
      <s:element name="getPackageDefinitionsByTariffId">
        <s:complexType>
          <s:sequence>
            <s:element name="tariffId" type="s:string" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getPackageDefinitionsByTariffIdResponse">
        <s:complexType>
          <s:sequence>
            <s:element name="getPackageDefinitionsByTariffIdResult" type="ws:ArrayOfPackageDefinitionDocument" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getPackageDefinitionsByType">
        <s:complexType>
          <s:sequence>
            <s:element name="type" type="s:string" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getPackageDefinitionsByTypeResponse">
        <s:complexType>
          <s:sequence>
            <s:element name="getPackageDefinitionsByTypeResult" type="ws:ArrayOfPackageDefinitionDocument" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getPackagedProducts">
        <s:complexType>
          <s:sequence>
            <s:element name="packageCode" type="s:string" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getPackagedProductsResponse">
        <s:complexType>
          <s:sequence>
            <s:element name="getPackagedProductsResult" type="ws:ArrayOfPackagedProductDocument" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ArrayOfPackagedProductDocument" nillable="true" type="ws:ArrayOfPackagedProductDocument"/>
      <s:element name="getProductIsInPackages">
        <s:complexType>
          <s:sequence>
            <s:element name="productCode" type="s:string" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getProductIsInPackagesResponse">
        <s:complexType>
          <s:sequence>
            <s:element name="getProductIsInPackagesResult" type="ws:ArrayOfPackagedProductDocument" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="submitArrayOfPackagedProduct">
        <s:complexType>
          <s:sequence>
            <s:element name="rootDataObject" type="ws:ArrayOfDatagraphDocument" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="submitArrayOfPackagedProductResponse">
        <s:complexType>
          <s:sequence>
            <s:element name="submitArrayOfPackagedProductResult" type="ws:ArrayOfProperties" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="submitPackageDefinition">
        <s:complexType>
          <s:sequence>
            <s:element ref="com:datagraph"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="submitPackageDefinitionResponse">
        <s:complexType>
          <s:sequence>
            <s:element name="submitPackageDefinitionResult" type="ws:ArrayOfProperties" minOccurs="0"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfPackageDefinitionDocument">
        <s:sequence>
          <s:element ref="ns:PackageDefinition" minOccurs="0" maxOccurs="unbounded"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfPackagedProductDocument">
        <s:sequence>
          <s:element ref="ns:PackagedProduct" minOccurs="0" maxOccurs="unbounded"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfDatagraphDocument">
        <s:sequence>
          <s:element ref="com:datagraph" minOccurs="0" maxOccurs="unbounded"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfProperties">
        <s:sequence>
          <s:element name="Properties" type="ws:Map" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Map">
        <s:sequence>
          <s:element name="item" nillable="true" minOccurs="0" maxOccurs="unbounded">
            <s:complexType>
              <s:sequence>
                <s:element name="key" type="s:anyType" nillable="true"/>
                <s:element name="value" type="s:anyType" nillable="true"/>
              </s:sequence>
            </s:complexType>
          </s:element>
        </s:sequence>
      </s:complexType>
    </s:schema>
    <!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Fajar Siswandaru (Visitek) -->
    <!-- SCM Revision $Id: ProductServiceCatalog.xsd,v 1.4 2006/10/20 08:34:18 pangestu Exp $ -->
    <xs:schema xmlns:pc="http://www.telkomsel.com/soa/ProductCatalog/200606" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.telkomsel.com/soa/ProductCatalog/200606" elementFormDefault="qualified" attributeFormDefault="unqualified">
      <xs:complexType name="AttributeType">
        <xs:sequence>
          <xs:element name="Value" type="xs:string" nillable="true" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The value or default value of this attribute.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Description" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The description of this attribute</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="enumValues" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional, only needed to state valid value based on enumeration or list of valid values.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="enumValue" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:sequence minOccurs="0">
                      <xs:element name="description" type="xs:string" minOccurs="0"/>
                    </xs:sequence>
                    <xs:attribute name="value" type="xs:string"/>
                    <xs:attribute name="parentID" type="xs:string" use="optional"/>
                    <xs:attribute name="attrName" type="xs:string" use="optional"/>
                    <xs:attribute name="sequence" type="xs:integer" use="optional"/>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="parentID" type="xs:string" use="optional"/>
        <xs:attribute name="name" type="xs:string" use="required"/>
        <xs:attribute name="sequence" type="xs:integer" use="optional"/>
        <xs:attribute name="attrType" type="xs:string" use="optional" default="xs:string"/>
        <xs:attribute name="isFinal" type="xs:boolean" use="optional" default="true"/>
        <xs:attribute name="isNullable" type="xs:boolean" use="optional" default="true"/>
        <xs:attribute name="domain" type="xs:string" use="optional"/>
      </xs:complexType>
      <xs:complexType name="SettingAttributeType">
        <xs:complexContent>
          <xs:extension base="pc:AttributeType">
            <xs:sequence minOccurs="0">
              <xs:element name="Pragma" type="xs:string" minOccurs="0"/>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ProductServiceProfileAttributeType">
        <xs:complexContent>
          <xs:extension base="pc:SettingAttributeType">
            <xs:attribute name="attrLevel" type="xs:string" use="optional"/>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ServiceStateAttributeType">
        <xs:complexContent>
          <xs:extension base="pc:ProductServiceProfileAttributeType">
            <xs:attribute name="parentState" type="xs:string" use="optional"/>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="EntityTypeDefinitionType">
        <xs:sequence>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="typeCode" type="xs:string" use="required"/>
        <xs:attribute name="typeName"/>
      </xs:complexType>
      <xs:complexType name="ProductStateType">
        <xs:sequence minOccurs="0">
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="ProductStateSpecs" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ProductStateSpec" type="pc:StateSpecType" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="productID" type="xs:string" use="required"/>
        <xs:attribute name="state" type="xs:string" use="required"/>
      </xs:complexType>
      <xs:complexType name="ServiceStateType">
        <xs:sequence minOccurs="0">
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="ServiceStateSpecs" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ServiceStateSpec" type="pc:StateSpecType" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="serviceID" type="xs:string" use="required"/>
        <xs:attribute name="state" type="xs:string" use="required"/>
      </xs:complexType>
      <xs:complexType name="StateSpecType">
        <xs:sequence>
          <xs:element name="productID" type="xs:string" minOccurs="0"/>
          <xs:element name="productState" type="xs:string" minOccurs="0"/>
          <xs:element name="serviceID" minOccurs="0" type="xs:string"/>
          <xs:element name="serviceState" minOccurs="0" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AssociationType">
        <xs:attribute name="to" type="xs:string" use="required"/>
        <xs:attribute name="assocName" type="xs:string" use="required"/>
        <xs:attribute name="entityType" type="xs:string" use="optional"/>
      </xs:complexType>
      <xs:complexType name="ReferenceType">
        <xs:sequence>
          <xs:element name="Name" type="xs:string" minOccurs="0"/>
          <xs:element name="Description" type="xs:string" minOccurs="0"/>
          <xs:element minOccurs="0" type="xs:string" name="Type"/>
          <xs:element minOccurs="0" type="xs:string" name="TariffCode"/>
        </xs:sequence>
        <xs:attribute name="code" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string" use="optional"/>
        <xs:attribute name="status" type="xs:integer" use="optional"/>
      </xs:complexType>
      <xs:complexType name="DefinitionType">
        <xs:sequence>
          <xs:element name="Name" type="xs:string"/>
          <xs:element name="Description" type="xs:string" minOccurs="0"/>
          <xs:element ref="pc:Attributes" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="code" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string" use="optional"/>
        <xs:attribute name="status" type="xs:integer" use="optional" default="1">
          <xs:annotation>
            <xs:documentation>The status: 1 is for Active</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:complexType>
      <xs:complexType name="ServiceDefinitionType">
        <xs:complexContent>
          <xs:extension base="pc:DefinitionType">
            <xs:sequence minOccurs="0">
              <xs:element name="Dependencies" type="pc:ServiceDependenciesType" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Dependencies to other services subscription state for this service to be sucessfully provisioned/unprovisioned/unregistered.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="typeCode" type="xs:string" use="optional">
              <xs:annotation>
                <xs:documentation>Used for logical grouping of services.</xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ProductDefinitionType">
        <xs:complexContent>
          <xs:extension base="pc:DefinitionType">
            <xs:sequence>
              <xs:element name="Associations" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Association" type="pc:AssociationType" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PackageDefinitionType">
        <xs:complexContent>
          <xs:extension base="pc:DefinitionType">
            <xs:sequence minOccurs="0">
              <xs:element name="PackageType" type="xs:string" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The package type, can be used for tagging like "Basic Package" or "Optional Package"</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="TariffId" type="xs:string" minOccurs="0"/>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PackageSpecificationType">
        <xs:complexContent>
          <xs:extension base="pc:PackageDefinitionType">
            <xs:sequence minOccurs="0">
              <xs:element name="PackagedProducts" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element ref="pc:PackagedProduct" maxOccurs="unbounded"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ProductOfferingType">
        <xs:complexContent>
          <xs:extension base="pc:DefinitionType">
            <xs:sequence>
              <xs:element name="OfferedPackages" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="OfferedPackage" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:complexContent>
                          <xs:extension base="pc:ReferenceType">
                            <xs:attribute name="offeringTag" type="xs:string"/>
                          </xs:extension>
                        </xs:complexContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ServiceStateConfigType">
        <xs:sequence minOccurs="0">
          <xs:element name="AttributeSettings" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ServiceAttribute" type="pc:SettingAttributeType" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="serviceCode" type="xs:string" use="required"/>
        <xs:attribute name="serviceName" type="xs:string" use="optional"/>
        <xs:attribute name="subscriptionState" type="xs:string" use="optional" default="ACTIVE"/>
      </xs:complexType>
      <xs:complexType name="ServiceSpecificationType">
        <xs:sequence>
          <xs:element ref="pc:ServiceDefinition"/>
          <xs:element name="SubscriptionConfigurations" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element ref="pc:ServiceSubscriptionConfig" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="OfferedInProducts" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Product" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:complexContent>
                      <xs:extension base="pc:ReferenceType">
                        <xs:sequence minOccurs="0">
                          <xs:element name="StateMaps">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element ref="pc:StateMap" minOccurs="0" maxOccurs="unbounded"/>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element ref="pc:ServiceProfile" minOccurs="0"/>
                        </xs:sequence>
                      </xs:extension>
                    </xs:complexContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProductServiceProfileType">
        <xs:sequence>
          <xs:element name="Description" type="xs:string" minOccurs="0"/>
          <xs:element name="ServicesProfile" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Service" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="Attributes" minOccurs="0">
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="ServiceAttribute" type="pc:ProductServiceProfileAttributeType" minOccurs="0" maxOccurs="unbounded"/>
                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="SubsDependencies" type="pc:ServiceDependenciesType" minOccurs="0">
                        <xs:annotation>
                          <xs:documentation>This element defines all provisioning / subscription dependencies for this service.</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                    <xs:attribute name="serviceCode" type="xs:string" use="required"/>
                    <xs:attribute name="serviceState" type="xs:string" use="required"/>
                    <xs:attribute name="serviceName" type="xs:string" use="optional"/>
                    <xs:attribute name="serviceSubsTag" type="xs:string" use="optional"/>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="productCode" type="xs:string" use="optional"/>
        <xs:attribute name="productSubState" type="xs:string" use="required"/>
      </xs:complexType>
      <xs:complexType name="ServiceStateAttributesType">
        <xs:sequence>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="Attributes" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ServiceStateAttribute" type="pc:ServiceStateAttributeType" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="serviceCode" type="xs:string" use="required"/>
        <xs:attribute name="serviceState" type="xs:string" use="required"/>
      </xs:complexType>
      <xs:complexType name="ServiceDependenciesType">
        <xs:sequence>
          <xs:element ref="pc:ServiceDependency" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="Attributes">
        <xs:complexType>
          <xs:sequence minOccurs="0">
            <xs:element ref="pc:Attribute" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Attribute">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="pc:AttributeType"/>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="DomainProfile">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Attribute" type="pc:AttributeType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="domain" type="xs:string" use="required"/>
          <xs:attribute name="entityCode" type="xs:string" use="optional"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceTypeDefinition" type="pc:EntityTypeDefinitionType"/>
      <xs:element name="ServiceReference" type="pc:ReferenceType"/>
      <xs:element name="ServiceDefinition">
        <xs:annotation>
          <xs:documentation>Encapsulates the definition of service</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="pc:ServiceDefinitionType"/>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceDependency">
        <xs:annotation>
          <xs:documentation>The dependency definition to specific service subscription state.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="refServiceCode" type="xs:string" use="optional">
            <xs:annotation>
              <xs:documentation>The reference to a service which dependencies are being stated. (optional)</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="refSubState" type="xs:string" default="active">
            <xs:annotation>
              <xs:documentation>this dependency is applicable  to set this service subscription state defined on this attribute. The default is to be active provisioned.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="toServiceCode" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>The reference to the dependent on service. Referenced by its service code.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="depSubState" type="xs:string" default="active">
            <xs:annotation>
              <xs:documentation>the referenced service must been already in the state defined by this attribute.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceSpecification" type="pc:ServiceSpecificationType"/>
      <xs:element name="ServiceSubscriptionConfig">
        <xs:complexType>
          <xs:sequence>
            <xs:choice>
              <xs:sequence>
                <xs:element name="ServiceState" type="xs:string">
                  <xs:annotation>
                    <xs:documentation>used to specify this configuration is valid for specific subscription state regardless of product.</xs:documentation>
                  </xs:annotation>
                </xs:element>
                <xs:element name="Description" type="xs:string" nillable="true" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>The description of this subscription configuration which either based on state or bound to specific product. (ie: the description for a service subscription configuration with state = BLOCKOUTGOING for Call Barring service is "Block outgoing call")</xs:documentation>
                  </xs:annotation>
                </xs:element>
              </xs:sequence>
              <xs:element name="ProductCode" type="xs:string">
                <xs:annotation>
                  <xs:documentation>used to specify this configuration is valid for only in the context of a subscription to a specific product regardless of service's state.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:choice>
            <xs:element name="Attributes">
              <xs:annotation>
                <xs:documentation>The attribute setting / the service attribute configuration.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="ServiceAttribute" type="pc:SettingAttributeType" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="serviceCode" type="xs:string" use="optional">
            <xs:annotation>
              <xs:documentation>The referenced service code which subscription configuration are defined under this element.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceProfile">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StateConfiguration" type="pc:ServiceStateConfigType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="serviceCode" type="xs:string" use="optional"/>
          <xs:attribute name="inProductCode" type="xs:string" use="optional"/>
          <xs:attribute name="serviceSubsTag" type="xs:string" use="optional"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="StateMap">
        <xs:complexType>
          <xs:attribute name="ProductSubscriptionState" type="xs:string" use="required"/>
          <xs:attribute name="ServiceSubscriptionState" type="xs:string" use="required"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProductOffering" type="pc:ProductOfferingType"/>
      <xs:element name="ProductReference" type="pc:ReferenceType" nillable="true"/>
      <xs:element name="ProductService">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="pc:ServiceDefinitionType">
              <xs:attribute name="productCode" type="xs:string" use="optional"/>
              <xs:attribute name="serviceSubsTag" type="xs:string" use="optional"/>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProductDefinition" type="pc:ProductDefinitionType" nillable="true">
        <xs:annotation>
          <xs:documentation>Encapsulates the definition of product</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProductSpecification">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="pc:ProductDefinitionType">
              <xs:sequence>
                <xs:element name="IncludedServices" minOccurs="0">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element ref="pc:ProductService" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="SubscriptionConfiguration" minOccurs="0">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element ref="pc:ProductServiceProfile" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProductServiceProfile">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="pc:ProductServiceProfileType"/>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PackageReference" type="pc:ReferenceType"/>
      <xs:element name="PackageDefinition" type="pc:PackageDefinitionType" nillable="true">
        <xs:annotation>
          <xs:documentation>Encapsulates the definition of a package</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PackageSpecification" type="pc:PackageSpecificationType" nillable="true"/>
      <xs:element name="PackagedProduct" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ProductCode" type="xs:string"/>
            <xs:element name="PackagingTag" type="xs:string"/>
            <xs:element name="TariffId" type="xs:string"/>
            <xs:element name="ProductName" type="xs:string" minOccurs="0"/>
          </xs:sequence>
          <xs:attribute name="packageCode" type="xs:string" use="required"/>
          <xs:attribute name="packageName" type="xs:string" use="optional"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProductStates" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ProductState" type="pc:ProductStateType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceStates" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ServiceState" type="pc:ServiceStateType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceStatesAttributes" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ServiceStateAttributes" type="pc:ServiceStateAttributesType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ArrayOfCodes">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
        <xsd:schema xmlns:sdo="commonj.sdo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="commonj.sdo">
      <!-- Service Data Objects
     Version 1.0
     Licensed Materials - Property of BEA and IBM

     © Copyright BEA Systems, Inc. and International Business Machines Corp 2003. All rights reserved.
  -->
      <xsd:element name="datagraph" type="sdo:DataGraphType"/>
      <xsd:complexType name="DataGraphType">
        <xsd:complexContent>
          <xsd:extension base="sdo:BaseDataGraphType">
            <xsd:sequence>
              <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="BaseDataGraphType" abstract="true">
        <xsd:sequence>
          <xsd:element name="models" type="sdo:ModelsType" minOccurs="0"/>
          <xsd:element name="xsd" type="sdo:XSDType" minOccurs="0"/>
          <xsd:element name="changeSummary" type="sdo:ChangeSummaryType" minOccurs="0"/>
        </xsd:sequence>
        <xsd:anyAttribute namespace="##other" processContents="lax"/>
      </xsd:complexType>
      <xsd:complexType name="ModelsType">
        <xsd:annotation>
          <xsd:documentation>Expected type is emof:Package.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="XSDType">
        <xsd:annotation>
          <xsd:documentation>Expected type is xsd:schema.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:any namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ChangeSummaryType">
        <xsd:sequence>
          <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="create" type="xsd:string"/>
        <xsd:attribute name="delete" type="xsd:string"/>
      </xsd:complexType>
    </xsd:schema>

  </types>
  <message name="getPackageDefinitionSoapIn">
    <part name="parameters" element="s0:getPackageDefinition"/>
  </message>
  <message name="getPackageDefinitionSoapOut">
    <part name="parameters" element="s0:getPackageDefinitionResponse"/>
  </message>
  <message name="getPackageDefinitionsSoapIn">
    <part name="parameters" element="s0:getPackageDefinitions"/>
  </message>
  <message name="getPackageDefinitionsSoapOut">
    <part name="parameters" element="s0:getPackageDefinitionsResponse"/>
  </message>
  <message name="getPackageDefinitionsByTariffIdSoapIn">
    <part name="parameters" element="s0:getPackageDefinitionsByTariffId"/>
  </message>
  <message name="getPackageDefinitionsByTariffIdSoapOut">
    <part name="parameters" element="s0:getPackageDefinitionsByTariffIdResponse"/>
  </message>
  <message name="getPackageDefinitionsByTypeSoapIn">
    <part name="parameters" element="s0:getPackageDefinitionsByType"/>
  </message>
  <message name="getPackageDefinitionsByTypeSoapOut">
    <part name="parameters" element="s0:getPackageDefinitionsByTypeResponse"/>
  </message>
  <message name="getPackagedProductsSoapIn">
    <part name="parameters" element="s0:getPackagedProducts"/>
  </message>
  <message name="getPackagedProductsSoapOut">
    <part name="parameters" element="s0:getPackagedProductsResponse"/>
  </message>
  <message name="getProductIsInPackagesSoapIn">
    <part name="parameters" element="s0:getProductIsInPackages"/>
  </message>
  <message name="getProductIsInPackagesSoapOut">
    <part name="parameters" element="s0:getProductIsInPackagesResponse"/>
  </message>
  <message name="submitArrayOfPackagedProductSoapIn">
    <part name="parameters" element="s0:submitArrayOfPackagedProduct"/>
  </message>
  <message name="submitArrayOfPackagedProductSoapOut">
    <part name="parameters" element="s0:submitArrayOfPackagedProductResponse"/>
  </message>
  <message name="submitPackageDefinitionSoapIn">
    <part name="parameters" element="s0:submitPackageDefinition"/>
  </message>
  <message name="submitPackageDefinitionSoapOut">
    <part name="parameters" element="s0:submitPackageDefinitionResponse"/>
  </message>
  <message name="getPackageDefinitionHttpGetIn">
    <part name="packageId" type="s:string"/>
  </message>
  <message name="getPackageDefinitionHttpGetOut">
    <part xmlns:s1="http://www.telkomsel.com/soa/ProductCatalog/200606" name="Body" element="s1:PackageDefinition"/>
  </message>
  <message name="getPackageDefinitionsHttpGetIn"/>
  <message name="getPackageDefinitionsHttpGetOut">
    <part name="Body" element="s0:ArrayOfPackageDefinitionDocument"/>
  </message>
  <message name="getPackageDefinitionsByTariffIdHttpGetIn">
    <part name="tariffId" type="s:string"/>
  </message>
  <message name="getPackageDefinitionsByTariffIdHttpGetOut">
    <part name="Body" element="s0:ArrayOfPackageDefinitionDocument"/>
  </message>
  <message name="getPackageDefinitionsByTypeHttpGetIn">
    <part name="type" type="s:string"/>
  </message>
  <message name="getPackageDefinitionsByTypeHttpGetOut">
    <part name="Body" element="s0:ArrayOfPackageDefinitionDocument"/>
  </message>
  <message name="getPackagedProductsHttpGetIn">
    <part name="packageCode" type="s:string"/>
  </message>
  <message name="getPackagedProductsHttpGetOut">
    <part name="Body" element="s0:ArrayOfPackagedProductDocument"/>
  </message>
  <message name="getProductIsInPackagesHttpGetIn">
    <part name="productCode" type="s:string"/>
  </message>
  <message name="getProductIsInPackagesHttpGetOut">
    <part name="Body" element="s0:ArrayOfPackagedProductDocument"/>
  </message>
  <message name="getPackageDefinitionHttpPostIn">
    <part name="packageId" type="s:string"/>
  </message>
  <message name="getPackageDefinitionHttpPostOut">
    <part xmlns:s1="http://www.telkomsel.com/soa/ProductCatalog/200606" name="Body" element="s1:PackageDefinition"/>
  </message>
  <message name="getPackageDefinitionsHttpPostIn"/>
  <message name="getPackageDefinitionsHttpPostOut">
    <part name="Body" element="s0:ArrayOfPackageDefinitionDocument"/>
  </message>
  <message name="getPackageDefinitionsByTariffIdHttpPostIn">
    <part name="tariffId" type="s:string"/>
  </message>
  <message name="getPackageDefinitionsByTariffIdHttpPostOut">
    <part name="Body" element="s0:ArrayOfPackageDefinitionDocument"/>
  </message>
  <message name="getPackageDefinitionsByTypeHttpPostIn">
    <part name="type" type="s:string"/>
  </message>
  <message name="getPackageDefinitionsByTypeHttpPostOut">
    <part name="Body" element="s0:ArrayOfPackageDefinitionDocument"/>
  </message>
  <message name="getPackagedProductsHttpPostIn">
    <part name="packageCode" type="s:string"/>
  </message>
  <message name="getPackagedProductsHttpPostOut">
    <part name="Body" element="s0:ArrayOfPackagedProductDocument"/>
  </message>
  <message name="getProductIsInPackagesHttpPostIn">
    <part name="productCode" type="s:string"/>
  </message>
  <message name="getProductIsInPackagesHttpPostOut">
    <part name="Body" element="s0:ArrayOfPackagedProductDocument"/>
  </message>
  <portType name="PackageDataSoap">
    <operation name="getPackageDefinition">
      <input message="s0:getPackageDefinitionSoapIn"/>
      <output message="s0:getPackageDefinitionSoapOut"/>
    </operation>
    <operation name="getPackageDefinitions">
      <input message="s0:getPackageDefinitionsSoapIn"/>
      <output message="s0:getPackageDefinitionsSoapOut"/>
    </operation>
    <operation name="getPackageDefinitionsByTariffId">
      <input message="s0:getPackageDefinitionsByTariffIdSoapIn"/>
      <output message="s0:getPackageDefinitionsByTariffIdSoapOut"/>
    </operation>
    <operation name="getPackageDefinitionsByType">
      <input message="s0:getPackageDefinitionsByTypeSoapIn"/>
      <output message="s0:getPackageDefinitionsByTypeSoapOut"/>
    </operation>
    <operation name="getPackagedProducts">
      <input message="s0:getPackagedProductsSoapIn"/>
      <output message="s0:getPackagedProductsSoapOut"/>
    </operation>
    <operation name="getProductIsInPackages">
      <input message="s0:getProductIsInPackagesSoapIn"/>
      <output message="s0:getProductIsInPackagesSoapOut"/>
    </operation>
    <operation name="submitArrayOfPackagedProduct">
      <input message="s0:submitArrayOfPackagedProductSoapIn"/>
      <output message="s0:submitArrayOfPackagedProductSoapOut"/>
    </operation>
    <operation name="submitPackageDefinition">
      <input message="s0:submitPackageDefinitionSoapIn"/>
      <output message="s0:submitPackageDefinitionSoapOut"/>
    </operation>
  </portType>
  <portType name="PackageDataHttpGet">
    <operation name="getPackageDefinition">
      <input message="s0:getPackageDefinitionHttpGetIn"/>
      <output message="s0:getPackageDefinitionHttpGetOut"/>
    </operation>
    <operation name="getPackageDefinitions">
      <input message="s0:getPackageDefinitionsHttpGetIn"/>
      <output message="s0:getPackageDefinitionsHttpGetOut"/>
    </operation>
    <operation name="getPackageDefinitionsByTariffId">
      <input message="s0:getPackageDefinitionsByTariffIdHttpGetIn"/>
      <output message="s0:getPackageDefinitionsByTariffIdHttpGetOut"/>
    </operation>
    <operation name="getPackageDefinitionsByType">
      <input message="s0:getPackageDefinitionsByTypeHttpGetIn"/>
      <output message="s0:getPackageDefinitionsByTypeHttpGetOut"/>
    </operation>
    <operation name="getPackagedProducts">
      <input message="s0:getPackagedProductsHttpGetIn"/>
      <output message="s0:getPackagedProductsHttpGetOut"/>
    </operation>
    <operation name="getProductIsInPackages">
      <input message="s0:getProductIsInPackagesHttpGetIn"/>
      <output message="s0:getProductIsInPackagesHttpGetOut"/>
    </operation>
  </portType>
  <portType name="PackageDataHttpPost">
    <operation name="getPackageDefinition">
      <input message="s0:getPackageDefinitionHttpPostIn"/>
      <output message="s0:getPackageDefinitionHttpPostOut"/>
    </operation>
    <operation name="getPackageDefinitions">
      <input message="s0:getPackageDefinitionsHttpPostIn"/>
      <output message="s0:getPackageDefinitionsHttpPostOut"/>
    </operation>
    <operation name="getPackageDefinitionsByTariffId">
      <input message="s0:getPackageDefinitionsByTariffIdHttpPostIn"/>
      <output message="s0:getPackageDefinitionsByTariffIdHttpPostOut"/>
    </operation>
    <operation name="getPackageDefinitionsByType">
      <input message="s0:getPackageDefinitionsByTypeHttpPostIn"/>
      <output message="s0:getPackageDefinitionsByTypeHttpPostOut"/>
    </operation>
    <operation name="getPackagedProducts">
      <input message="s0:getPackagedProductsHttpPostIn"/>
      <output message="s0:getPackagedProductsHttpPostOut"/>
    </operation>
    <operation name="getProductIsInPackages">
      <input message="s0:getProductIsInPackagesHttpPostIn"/>
      <output message="s0:getProductIsInPackagesHttpPostOut"/>
    </operation>
  </portType>
  <binding name="PackageDataSoap" type="s0:PackageDataSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="getPackageDefinition">
      <soap:operation soapAction="http://www.telkomsel.com/soa/ProductCatalog/WS/getPackageDefinition" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="getPackageDefinitions">
      <soap:operation soapAction="http://www.telkomsel.com/soa/ProductCatalog/WS/getPackageDefinitions" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="getPackageDefinitionsByTariffId">
      <soap:operation soapAction="http://www.telkomsel.com/soa/ProductCatalog/WS/getPackageDefinitionsByTariffId" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="getPackageDefinitionsByType">
      <soap:operation soapAction="http://www.telkomsel.com/soa/ProductCatalog/WS/getPackageDefinitionsByType" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="getPackagedProducts">
      <soap:operation soapAction="http://www.telkomsel.com/soa/ProductCatalog/WS/getPackagedProducts" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="getProductIsInPackages">
      <soap:operation soapAction="http://www.telkomsel.com/soa/ProductCatalog/WS/getProductIsInPackages" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="submitArrayOfPackagedProduct">
      <soap:operation soapAction="http://www.telkomsel.com/soa/ProductCatalog/WS/submitArrayOfPackagedProduct" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="submitPackageDefinition">
      <soap:operation soapAction="http://www.telkomsel.com/soa/ProductCatalog/WS/submitPackageDefinition" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <binding name="PackageDataHttpGet" type="s0:PackageDataHttpGet">
    <http:binding verb="GET"/>
    <operation name="getPackageDefinition">
      <http:operation location="/getPackageDefinition"/>
      <input>
        <http:urlEncoded/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getPackageDefinitions">
      <http:operation location="/getPackageDefinitions"/>
      <input>
        <http:urlEncoded/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getPackageDefinitionsByTariffId">
      <http:operation location="/getPackageDefinitionsByTariffId"/>
      <input>
        <http:urlEncoded/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getPackageDefinitionsByType">
      <http:operation location="/getPackageDefinitionsByType"/>
      <input>
        <http:urlEncoded/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getPackagedProducts">
      <http:operation location="/getPackagedProducts"/>
      <input>
        <http:urlEncoded/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getProductIsInPackages">
      <http:operation location="/getProductIsInPackages"/>
      <input>
        <http:urlEncoded/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
  </binding>
  <binding name="PackageDataHttpPost" type="s0:PackageDataHttpPost">
    <http:binding verb="POST"/>
    <operation name="getPackageDefinition">
      <http:operation location="/getPackageDefinition"/>
      <input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getPackageDefinitions">
      <http:operation location="/getPackageDefinitions"/>
      <input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getPackageDefinitionsByTariffId">
      <http:operation location="/getPackageDefinitionsByTariffId"/>
      <input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getPackageDefinitionsByType">
      <http:operation location="/getPackageDefinitionsByType"/>
      <input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getPackagedProducts">
      <http:operation location="/getPackagedProducts"/>
      <input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
    <operation name="getProductIsInPackages">
      <http:operation location="/getProductIsInPackages"/>
      <input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </input>
      <output>
        <mime:mimeXml part="Body"/>
      </output>
    </operation>
  </binding>
  <service name="PackageData">
    <port name="PackageDataSoap" binding="s0:PackageDataSoap">
      <soap:address location="http://eaidapp1:7001/ProductCatalogWS/PackageData.jws"/>
    </port>
    <port name="PackageDataHttpGet" binding="s0:PackageDataHttpGet">
      <http:address location="http://eaidapp1:7001/ProductCatalogWS/PackageData.jws"/>
    </port>
    <port name="PackageDataHttpPost" binding="s0:PackageDataHttpPost">
      <http:address location="http://eaidapp1:7001/ProductCatalogWS/PackageData.jws"/>
    </port>
  </service>
</definitions>