Home » Applications » PeopleSoft, JD Edwards & Siebel » Siebel Web Service Error From 11i
Siebel Web Service Error From 11i [message #444068] Thu, 18 February 2010 10:55
cotton
Messages: 10
Registered: February 2010
Junior Member
Hello,

I have to make a pl/sql program to call siebel web service.
I have created the package but the same return error :

ORA-20000: SOAP-ENV:Client - Supplied input is not well formed or does not contain the expected data.(SBL-EAI-00137)
ORA-06512: at "APPS.SOAP_API", line 108
ORA-06512: at "APPS.SOAP_API", line 148
ORA-06512: at "APPS.GET_CITY_FROM_ZIPCODE", line 40


My Wsdl Looks like this :

<?xml version="1.0" encoding="UTF-8"?><definitions
xmlns="xttp://schemas.xmlsoap.org/wsdl/"
xmlns:soap="xttp://schemas.xmlsoap.org/wsdl/soap/"
targetNamespace="xttp://siebel.com/asi/"
xmlns:soapenc="xttp://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="xttp://www.w3.org/2001/XMLSchema"
xmlns:tns="xttp://siebel.com/asi/">
<types></types>
<message name="ZEB_spcCalculate_spcPrice_Input">
<part name="Requested_spcDate" type="xsd:string">
</part><part name="UOM" type="xsd:string">
</part><part name="Currency" type="xsd:string">
</part><part name="AccountId" type="xsd:string">
</part><part name="Product" type="xsd:string">
</part><part name="Quantity" type="xsd:string">
</part></message>
<message name="ZEB_spcCalculate_spcPrice_Output">
<part name="Total_spcPrice" type="xsd:string">
</part></message><portType name="ZEB_spcPrice">
<operation name="ZEB_spcCalculate_spcPrice">
<input message="tns:ZEB_spcCalculate_spcPrice_Input">
</input>
<output message="tns:ZEB_spcCalculate_spcPrice_Output"></output>
</operation>
</portType>
<binding name="ZEB_spcPrice" type="tns:ZEB_spcPrice">
<soap:binding transport="xttp://schemas.xmlsoap.org/soap/xttp" style=""></soap:binding>
<operation name="ZEB_spcCalculate_spcPrice">
<soap:operation soapAction="rpc/xttp://siebel.com/asi/:ZEB_spcCalculate_spcPrice">
</soap:operation>
<input>
<soap:body namespace="xttp://siebel.com/asi/" use="literal"></soap:body>
</input>
<output>
<soap:body namespace="xttp://siebel.com/asi/" use="literal"></soap:body>
</output>
</operation>
</binding>
<service name="ZEB_spcPrice_spcCalculate">
<port binding="tns:ZEB_spcPrice" name="ZEB_spcPrice">
<soap:address location="xttp://cotton:7792/eai_enu/start.swe?SWEExtSource=WebService&amp;SWEExtCmd=Execute&amp;UserName=SMUTHAVARAPU&amp;Password=SMUTHAVARAPU"></soap:address>
</port>
</service>
</definitions>

My Package looks like this:

CREATE OR REPLACE FUNCTION get_city_from_zipcode (
vp_parameter1 VARCHAR2,
vp_parameter2 VARCHAR2,
vp_parameter3 VARCHAR2,
vp_parameter4 VARCHAR2,
vp_parameter5 VARCHAR2,
vp_parameter6 VARCHAR2
)
RETURN VARCHAR2
AS
l_request soap_api.t_request;
l_response soap_api.t_response;
l_return VARCHAR2(32767);

l_url VARCHAR2(32767);
l_namespace VARCHAR2(32767);
l_method VARCHAR2(32767);
l_soap_action VARCHAR2(32767);
l_result_name VARCHAR2(32767);
BEGIN

l_url := 'xttp://cotton:7792/eai_enu/start.swe?SWEExtSource=WebService'||'&'||'SWEExtCmd=Execute'||'&'||'UserName=SMUTHAVARAPU'||'&'||'Password=SMUTHAVARAPU';
l_namespace := 'xmlns="' || l_url || '"';
l_method := 'ZEB_spcPrice_spcCalculate';
l_soap_action := 'rpc/xttp://siebel.com/asi/:ZEB_spcCalculate_spcPrice';
l_result_name := 'Total_spcPrice';

l_request := soap_api.new_request(p_method => l_method,
p_namespace => l_namespace);

soap_api.add_parameter(p_request => l_request,p_name => 'Requested_spcDate',p_type => 'xsd:string',p_value => vp_parameter1);
soap_api.add_parameter(p_request => l_request,p_name => 'UOM',p_type => 'xsd:string',p_value => vp_parameter2);
soap_api.add_parameter(p_request => l_request,p_name => 'Currency',p_type => 'xsd:string',p_value => vp_parameter3);
soap_api.add_parameter(p_request => l_request,p_name => 'AccountId',p_type => 'xsd:string',p_value => vp_parameter4);
soap_api.add_parameter(p_request => l_request,p_name => 'Product',p_type => 'xsd:string',p_value => vp_parameter5);
soap_api.add_parameter(p_request => l_request,p_name => 'Quantity',p_type => 'xsd:string',p_value => vp_parameter6);

l_response := soap_api.invoke(p_request => l_request,
p_url => l_url,
p_action => l_soap_action);

l_return := soap_api.get_return_value(p_response => l_response,
p_name => l_result_name,
p_namespace => l_namespace);

RETURN l_return;
END;
/

Can someone pls help.
Replace xttp with http

Thanks
Previous Topic: PUB-SUB Messages Getting Struck Frequently in Message Channel
Next Topic: Problem With JD Edwards 9 and Oracle 11g
Goto Forum:
  


Current Time: Tue Nov 26 22:12:12 CST 2024