+ Start a Discussion
RamaKrishnaRamaKrishna 

Server was unable to read request - outboundmessaging

Hi:
 
Iam getting the below error when i made a call from force.com to external .net web service (.net version 2.0)?
 
Server was unable to read request. ---> There is an error in XML document (12, 6). ---> The specified type was not recognized: n
 
Please help me out how to resolve this?
 
Thanks,
RK
valentinoromelivalentinoromeli

I have the same problem.

The situation is the following.

I'm using outbound messaging.

For each object (e.g. a Case) a workflow with an outboundmessage with sends all fields.

Each outbound message has its own generated .wsdl file.

These .wsdl file are implemented in Dotnet.

Salesforce exists out of a large numbers of objects and the number of available ports in our server are limited.

Therefor:

In ISS (ver 6. using (ASP).NET 2.0) I have create a web site.

This web site has its own port number.

This web site exists out of several web services (asmx) files.

Each web service has its own unique namespace.

At the moment I'm not working with a compiled version of the web site.

Sending one notification from Salesforce to our server is working
when I have created strictly one web service for this web site or
set this web service as the standard document in IIS.

But the second notification (e.g. a delivery address) is not recognized by
our web server and therefor Salesforce response (I guess) with
the following message.

Server was unable to read request. --->
There is an error in XML document (12, 6). --->
The specified type was not recognized: n...

How to solve this one?

Solving in Salesforce?
In IIS?
In code? allready using unique namespaces.

Regards




Message Edited by valentinoromeli on 09-18-2008 03:44 AM
valentinoromelivalentinoromeli
Solved.

Change your endpoint (of the outbound message) to the specific web service to map;)
 
Regards
MunnaMunna

Hi,

I have one question for you.

on outbound messaging the endpoint URL must be any web service or we can give URL with  .aspx page

Exampale http://mysite.com/sForce.aspx

the above is right?

Thanks in advance.

Manas

valentinoromelivalentinoromeli

Hi,

I have one question for you.

on outbound messaging the endpoint URL must be any web service or we can give URL with  .aspx page

Exampale http://mysite.com/sForce.aspx

Yes. But an aspx file is not a web service, asmx is

So probably it will be:
http://mysite.com/sForce.asmx

If you are using https it wil be
https://mysite.com/sForce.asmx

If you only have an ip it will be
http://yourip/sForce.asmx

if you are using a specific port number it will be
http://yourip:YOURPORTNUMBER/sForce.asmx

Make sure your web server accepts calls and only from and to *.Salesforce.com.

gr,
Valentino Rijhen



Message Edited by valentinoromeli on 09-18-2008 06:19 AM
MunnaMunna

Thanks Valentinoromeli

May be i need more assistance with you in future.

Thanks in advance.

Manas


 

MunnaMunna

Hi,

 

I would like to know few things from you.

let me explain you my sanario.

I have my own application, having multiple companies which having their proaspect on salesforce.

i want when ever any new Lead is created,updated or deleted  on salesforce then my company database should be updated(if any lead is deleted from salesforce the that lead must be deleted from my local database)

 

is this possible through only outbound messaging or is their is any other way?

 

if it possible only through outbound messaging then company will do the seetings for outbound message workflow?

 

Please help me out on this..

 

Thanks in advance

Manas



Message Edited by Munna on 09-20-2008 02:43 AM
valentino rijhevalentino rijhe

Yes,

Define a workflow via the setup options in Salesforce.
Give it a name, select an object to be notified when it is changed.
Select some rules.
 
Next create a new outbound message.
Give it a name, select an object to be notified when it is changed, with some fields
Select some rules/conditions.
Save.

Download the outbound message .wsdl file to implement a asp.net web service (the listener)
on your side. This listener contains an notification method the read the notified object.
based on its values you can deside to update, delete or insert some values in your database.
Or calling a stored procedure or...

Another way is calling a web service via (partly generated) Apex code from an s-control (something like a web part).
Outbound messaging is easier, you have to do less.
 
Testing
Best way to handle this is by setting op a test environment (test.salesforce.com).
allready got one? you can create one from your current Salesforce account
Regards,
Valentino Rijhen


Message Edited by valentino rijhen on 09-22-2008 01:19 AM

Message Edited by valentino rijhe on 09-22-2008 01:33 AM
MunnaMunna
How can i crate test account on salesforce from my current developer edition acount?
 
Thanks in advance.
Manas
valentino rijhevalentino rijhe

If your account is only for testing then it will do, otherwise you can ask your administrator.

I guess in the developers environment you have all the needed functions available to set up your functionality.

Regards

Valentino Rijhen


Message Edited by valentino rijhe on 09-22-2008 03:17 AM
MunnaMunna
Hi,
 
do you have any idea on getupdated() and getdeleted() method on salesforce(for data replication)?
this function accept  3 parameters.
1- Object type(Lead,Account,Contact).
2-Start date
3 End date
my question is.
this function not accept start date gretaer then 1 month back.
soppose if i pass start as 2 months back then it's give error.
as per my requeirment my problam will not solve by using this function if it will not  accept start date greater the only 1 month back.
 
is there is any way to solve this kind of problam?
 
 
Thanks in advance.
Manas
valentino rijhevalentino rijhe
sorry I have no idea for this one, but maybe you should submit this question on general development.

gr.

Valentino Rijhen
MunnaMunna
Hi,
 
do you have any idea on below?
if i would like to call my web page on salesforce then how could be it possible?
 
and one more thing..
i am not able to view all the objects available in salesforce.
like i am not able to view Group object...
but i can see it through my applicaion through discribeGlobal() function.
 
 
Thanks in advance.
Manas
SuperfellSuperfell
outbound messaging sends a SOAP request, and expects a SOAP response. Any web technology that can parse the request and generate the correct response can be used. for .NET this would typically be an ASMX page, but is not required to be, you could also build one using ashx or aspx pages.
valentino rijhevalentino rijhe
Sorry Simon,

Don't think it is what he is looking for.
Indeed a lot of this info is documented in the *.docs but a lot isnt
like calling an external .net web service from an apex trigger which is not possible.

For example when creating an outbound message you cannot see the "users" object,
other custom objects you can see. Probably it will be a settings in Setup Control?
Isnt documented either.

When creating some custom objects you can make these visible for certain users and user groups.
I could also remember the possiblity of creating a (tab)page, and making it visible within the process of creating
a custom object.
 
You can also create a tab page and select an object.
Regards,
Valentino Rijhen


Message Edited by valentino rijhe on 09-23-2008 08:55 AM
SuperfellSuperfell
A lot of Workflow related things are documented in the main salesforce.com help, not in the developer API docs. The inability to make outbound calls from a trigger is documented in the apex docs.
MunnaMunna

Hi

Actually i would like to view my applilcation screens and reports from within salesforce.

how can i do this.

please let me know the steps for this.

 

 

Thanks in advance

Manas

MunnaMunna
Hi,
 
I have 1 question for you.
when ever i will login to salesforce from my application i need a login time at my end is there is any way to do this.
 
I tried below code.

sforce.GetServerTimestampResult gstr = binding.getServerTimestamp();

setLastLoginTime = gstr.timestamp;

but above function  return the diffrent time.

please help me out on this.

 

Thanks in advance.

Manas

valentino rijhevalentino rijhe
try this.

sfdc = new sforce.SforceService();

try

{

// call SF login method

sforce.LoginResult lr = sfdc.login(usr, passwd);

sfdc.Url = lr.serverUrl;

sfdc.SessionHeaderValue = new sforce.SessionHeader();

sfdc.SessionHeaderValue.sessionId = lr.sessionId;

curSessionID = lr.sessionId;

curURL = lr.serverUrl;

// log result

SessionLog += String.Format("Login OK for user {0}\r\n", lr.userInfo.userFullName);

return true;

}

Why needed a server time?
Wouldnt a client datetime do fine?

Regards,
Valentino Rijhen



Message Edited by valentino rijhe on 09-29-2008 02:59 AM
MunnaMunna
Thanks for your reply.
 
the code you sent me is for login process.
i need server time because on the basis of loginTime on salesforce i can maintain the lastlogin time at my database.
 
 one more question for you.
 
I would like to add my custom tab on salesforce and want to open all the reports within salesforce under the tab i created.
and all these reports are running on my server.
how can i open all the report in salesforce which are running on my server.
 
please let me know about the steps which are needed to integrate it.
 
 
Thanks in advance
Manas
MunnaMunna
Hi Valentino,
 
Now i decided to make my application as App Exchange application,so that other ssales force user can install my application and use it.
 
do you have any idea on App Exchange?
do you have idea on Apex classes?
 
Thanks in advance.
Manas
valentino rijhevalentino rijhe
Not with App Exchange.

What do you wanna know about Apex classes?

Regards,
Valentino Rijhen
MunnaMunna
Hi,
 
I would like to know few things from you...
I would like insert lead ID in my database when ever any new lead is created in salesforce for a particular account.
i am able to this but i am not sure i doing it in right way.
do you also have this kind of requeirment
if Yes... what you did? please let me know.
what i did when ever user login to application whis there salesforce username and pwd. then i get all the Leads from saleforce by using query and able to update my database..
 
 
but when next time user login to my application then i want all the lead which are dleted and created in the mean time.
there are many method availble but having some ristriction on then so i am not able to do that in right way.
 
can you please suggest me what is the better way to do this..
 
it would be greatfull if can share few things about your requeirment..
 
thanks a lot for helping me throughout.
Manas