C# XML-RPC probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik ben bezig om via XML-RPC (XML-RPC.NET) data op te vragen van mijn server.
Wanneer ik een request doe op de server krijg ik telkens de volgende error.
De server heeft een fout in het protocol veroorzaakt. Section=ResponseStatusLine

Als ik nu met CommView kijk wat er verzonden/ontvangen lijkt dit wel goed.

Data verzonden via XML/RPC
XML:
1
2
3
4
5
<?xml version="1.0"?>
<methodCall>
  <methodName>system.program_version</methodName>
  <params />
</methodCall> 

Data onvangen via XML/RPC

HTTP/1.1 200 OK
Connection: close
Content-Length: 151
Content-Type: text/xml
Server: Gambas RPC Server
XML:
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0"?>
<methodResponse>
 <params>
  <param>
   <value>
    <string>0.1.178</string>
   </value>
  </param>
 </params>
</methodResponse>

Ik hoop dat iemand mij kan vertellen wat ik fout doe.
Alvast bedank

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
De XML die je laat zien ziet er niet fout uit, en Nederlandse foutmeldingen zijn niet echt handig. :p Is je code wel goed? ( http://www.xml-rpc.net/faq/xmlrpcnetfaq.html#2.1 ) Heb je KeepAlive goed gezet? ( http://www.xml-rpc.net/faq/xmlrpcnetfaq.html#2.25 )

offtopic:
Je kan [code=xml] gebruiken voor xml, leest handiger.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De error code in het Engels is
The server committed a protocol violation. Section=ResponseStatusLine

Heb KeepAlive nu op false staan. Default staat deze op true. Maar heleaas geen verschil.

Hieronder mijn code.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public interface IServerInterface : IXmlRpcProxy
{
    [XmlRpcMethod("system.program_version")]
    string GetProgamVersion();
}

private void button1_Click(object sender, EventArgs e)
{
    private IServerInterface rpcProxy;
    rpcProxy = XmlRpcProxyGen.Create<IServerInterface>();
    try
    {
        rpcProxy.Url = rpcAddress.Text;
        rpcProxy.KeepAlive = false;
        rpcProxy.GetProgamVersion();            
    }
    catch (Exception ex)
    {
        HandleException(ex);
    }

}


De code is volgens mij wel goed

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Lastig. Ik zie hier iemand met een soortgelijk probleem (helaas zonder oplossing). Hier trouwens ook, maar dat ben je zelf ;). Stuurt de server soms geen <CR><LF> maar alleen een <LF> ofzo?

Dit is een foutmelding die zeer waarschijnlijk van HttpWebRequest afkomt, en niet van XML-RPC zelf. Eventueel is useUnsafeHeaderParsing een oplossing, maar ik zou in dat geval liever even aan de auteur vragen dit op te lossen.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb de volgende code toegevoegd aan app.config en nu werkt het wel
C#:
1
2
3
4
5
 <system.net>
    <settings>
      <httpWebRequest useUnsafeHeaderParsing = "true"/>
    </settings>
  </system.net>

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Dan zou ik toch even contact op nemen met de maker(s). Dit is een instelling voor legacy-applicaties, niet voor beta-software die zeer waarschijnlijk nog een klein bugje bevat.. ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 17-09 09:36
Zou dus inderdaad heel goed een <CR><LF> probleem kunnen zijn, die met bovenstaande property wordt ignored.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Probleem is verholpen door de makers van de server applicatie. Nu heb ik alleen nog een probleem wanneer ik mijn applicatie draai vanaf een pc die draadloos verbonden is met het netwerk.

Zie voor meer informatie mijn andere forum topic http://gathering.tweakers.net/forum/list_messages/1391405
Pagina: 1