Link to home
Start Free TrialLog in
Avatar of advikseth1000
advikseth1000Flag for India

asked on

How to create ASP.NET WebService with Siebel Integration Object

Hi,

I want to create one WSDL file from my ASP.NET WebService for Siebel.

I have got following information from my client:

1) XSD file (integration object)
2) a Sample WSDL file with one webmethod in this.

I tried using WSDL file utility to just crerate Proxy classes but i think thats not what I want to do.  Please help me know how can I produce one WSDL from my ASP.NET application which can be consumed by Sibel client to call our Webmethod using the same integraton (XSD) object.

Please help me know how ASP.NET and Siebel can interact with each other where a Siebel client will call ASP.NET WebService to push some data using the Siebel preferred Integration (XSD) object,

Thanks,
Amit
Avatar of lenordiste
lenordiste
Flag of France image

I am a bit confused about what you really need. Are you looking to provide a webservice or consume one?

for wsdl, just in case you did not know, by default it is enable and can be found with a browser by appending ?wsdl at the end of the webservice's url. For example:
http://yourdomain.com/yourwebservice.aspx?wsdl

if that's not what you need, can you give us more detail please?
Avatar of advikseth1000

ASKER

Hi,

I want to expose one ASP.NET WebService to Siebel client. I know that how to see WSDL but the real problem is that I want to make sure that my WSDL can be correctly consumed by Siebel.

I want my wsdl to look like as follows. If you notice in this WSDL, IntObject.xsd file is imported. My question is how can I make sure that I also follow the same path in ASP.NET by importing this XSD.

Please note that the following WSDL is from our competitor who is using Siebel. But we are using ASP.NET and want to make sure that out client (who is also using SIebel) should be able to consume our webservice with same integration object..


<?xml version="1.0" encoding="UTF-8"?><definitions
 xmlns="http://schemas.xmlsoap.org/wsdl/"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 xmlns:xsdLocal1="D:\IntObject.xsd"
 targetNamespace="http://siebel.com/CustomUI"
 xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:tns="http://siebel.com/CustomUI"
><types
><xsd:schema
 elementFormDefault="qualified"
 attributeFormDefault="unqualified"
 targetNamespace="http://siebel.com/CustomUI"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
><xsd:import
 namespace="D:\IntObject.xsd"
></xsd:import
><xsd:element
 name="spcPOC1_Input"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:myData"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="spcPOC1_Output"
><xsd:complexType
><xsd:sequence
><xsd:element
 name="Error_spcCode"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Error_spcMessage"
 type="xsd:string"
></xsd:element
><xsd:element
 name="UserDateTime"
 type="xsd:string"
></xsd:element
><xsd:element
 name="UserSIN"
 type="xsd:string"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
></xsd:schema
><xsd:schema
 elementFormDefault="qualified"
 attributeFormDefault="unqualified"
 xmlns:xsdLocal1="D:\IntObject.xsd"
 targetNamespace="D:\IntObject.xsd"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
><xsd:annotation
><xsd:documentation
>Copyright (C) 2001-2004 Siebel Systems, Inc. All rights reserved. Siebel XSD Generation</xsd:documentation
></xsd:annotation
><xsd:element
 name="MyData"
 type="xsdLocal1:MyData"
></xsd:element
><xsd:complexType
 name="MyDataTopElmt"
><xsd:sequence
><xsd:element
 name="MyData"
 maxOccurs="1"
 minOccurs="1"
 type="xsdLocal1:MyData"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="MyData"
><xsd:sequence
><xsd:element
 name="Move"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:Move"
></xsd:element
><xsd:element
 name="Location"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:Location"
></xsd:element
><xsd:element
 name="Inventory"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:Inventory"
></xsd:element
 ................
So on...


Thanks,
Amit
is there a lot of difference between you wsdl files (the one generated) and the one you want to implement?

here is some information to customize your wsdl to look like the one you sent:
http://msdn.microsoft.com/en-us/library/ms181856(v=vs.90).aspx
definitely look at the WebServiceBindingAttribute:
http://msdn.microsoft.com/en-us/library/system.web.services.webservicebindingattribute.aspx

on a side note, if possible you may want to look at WCF since it gives you much more control on your web service and seems better suited for interoperability purposes :-)
Thanks for the reply.

I could generate a very similar wsdl file by :

1) creating classes by using WSDL utility with \interface switch.
2) adding this class in my WebService and by implementing the methods of interface and marking them as webmethods.

Still there are some minor differences in the WSDL files like in the sample WSDL elements were like

<xsd:Customer>

but in my ASP.NET wsdl it shows as
<s:Customer>

I saw your links for WebServiceBindingAttribute but dont understand how i can resolve the issues with WSDL looks as highlighted above.

Thanks in advance for you reply.

Amit
ASKER CERTIFIED SOLUTION
Avatar of lenordiste
lenordiste
Flag of France image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
yes, I have sent the WSDL to client to test it. If it works for Siebel then no issues otherwise i have to look out for this small change in WSDL.


Thanks for your reply.

Amit