Appel de service web à partir de la procédure stockée sql

Je veux appeler un webservice de ma procédure stockée et obtenir un XML answere. Im ne pas vraiment savoir comment le faire, puisque je n'ai pas fait quelque chose comme ça avant.

C'est ce que ma procédure stockée ressemble:

   USE [master]
GO
/****** Object:  StoredProcedure [dbo].[webServiceCall]    Script Date: 3/11/2014     9:12:49 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[webServiceCall] 
    -- Add the parameters for the stored procedure here
    @personnr varchar (20),
    @username varchar (20),
    @password varchar (20)

AS
 DECLARE @obj INT
 DECLARE @ValorDeRegreso INT
 DECLARE @hr INT
 DECLARE @src varchar(255)
 DECLARE @desc varchar (255)
 DECLARE @srv varchar (200)
 DECLARE @response varchar (8000)



SET @srv = 'http://..../nasherpopman/PopManWebService.asmx?op=GetPerson&personnumber=' + @personnr +'&username=' + @username + '&password=' + @password +''
EXEC sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
EXEC sp_OAMethod @obj, 'open', NULL, 'POST', @srv, false
EXEC sp_OAMethod @obj, 'send'
EXEC sp_OAGetProperty @obj, 'responseText', @response out
SELECT @response [response]
EXEC sp_OADestroy @obj
RETURN

Pour l'instant, j'obtiens cette erreur: le Serveur n'a pas pu traiter la demande. ---> élément Racine est manquant

Je ne sais pas quoi faire de cette ou ce que je fais de mal ici.

Si j'essaie d'exécuter l'url j'obtiens ceci:

GetPerson

Test

The test form is only available for requests from the local machine.
SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to     be replaced with actual values.

POST /nasherpopman/PopManWebService.asmx HTTP/1.1
Host: .....
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetPerson"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:xsd="http://www.w3.org/2001/XMLSchema"     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetPerson xmlns="http://tempuri.org/">
      <personnumber>string</personnumber>
      <username>string</username>
      <password>string</password>
    </GetPerson>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetPersonResponse xmlns="http://tempuri.org/">
      <GetPersonResult>

      <personResult>string</personResult>
    </GetPersonResponse>
  </soap:Body>
</soap:Envelope>
  • Quelle version de SQL Server que vous utilisez?
  • Deux mille douze
  • Avez-vous essayé de coller cet appel de méthode directement dans un navigateur? Ne vous obtenez toujours la racine de l'élément est manquant erreur?
  • Oui et il ne me donne pas d'erreur, mais ne s'agit-il me donner un answere.
  • Nous donner l'exemple de webservice de retour.
  • j'ai juste édité le dessus avec le retour. Bien qu'il n'est pas vraiment un retour plus comme la façon dont le service est buildt
  • Avez-vous essayé d'exécution de ce webservice avec les paramètres que vous utilisez dans SQl Server - @personnr, @username, @password. Est-ce le retour de certaines données ou pas? Si elle ne renvoie pas les données qu'il peut cause de votre problème.
  • Oui je l'ai envoyer dans les paramètres valides et il n'est toujours pas de retour de rien