2016-05-25 2 views
-1

Я пишу VB.NetVariable недоступны из-за уровень защиты

Private Function generateXMLSchema() 
    Dim generatedXmlSchema As String = "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global"><soapenv:Header/>" & _ 
     "<soapenv:Body>" & _ 
      "<glob:RouteBundleMaintainRequest_sync_V1>" & _ 
       "<Route actionCode="01">" & _ 
        "<Name>tEST 250502</Name>" & _ 
        "<RouteTypeCode>2</RouteTypeCode>" & _ 
       "</Route>" & _ 
      "</glob:RouteBundleMaintainRequest_sync_V1>" & _ 
     "</soapenv:Body>" & _ 
    "</soapenv:Envelope>" 

    Return generatedXmlSchema 
End Function 

В Return generatedXmlSchema я получаю сообщение об ошибке: generatedXmlSchema не объявлен. Он может быть недоступен из-за уровня защиты

Может кто-нибудь сказать мне вопрос?


Обновлено с двойной цитате, еще такая же ошибка

Private Function generateXMLSchema() 
    Dim genXmlSchema As String = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:glob=""http://sap.com/xi/SAPGlobal20/Global"><soapenv:Header/>" & _ 
     "<soapenv:Body>" & _ 
      "<glob:RouteBundleMaintainRequest_sync_V1>" & _ 
       "<Route actionCode="01">" & _ 
        "<Name>tEST 250502</Name>" & _ 
        "<RouteTypeCode>2</RouteTypeCode>" & _ 
       "</Route>" & _ 
      "</glob:RouteBundleMaintainRequest_sync_V1>" & _ 
     "</soapenv:Body>" & _ 
    "</soapenv:Envelope>" 

    Return genXmlSchema 
End Function 
+0

Ваша потребность использовать двойные кавычки, например, ' "Xmlns: Glob =" "https://mywebsite.com" ">"' – p3tch

+0

Если это был действительно VB.NET, вы получили бы ошибку компилятора, например: «не можете использовать локальную переменную с тем же именем, что и функция» – Plutonix

+0

@ p3tch: я сделал то же самое, как вы просили, пожалуйста, проверьте обновленную часть в вопросе – GameBuilder

ответ

2

вы должны удвоить котировка каждое вхождение цитаты как разделитель строки:

"http://schemas.xmlsoap.org/soap/envelope/" -> ""http://schemas.xmlsoap.org/soap/envelope/"" 

"http://sap.com/xi/SAPGlobal20/Global" -> ""http://sap.com/xi/SAPGlobal20/Global"" 

"01" -> ""01"" 

что сказал, эта функция Private, поэтому он должен быть вызван в пределах того же Class, он относится к

все, что выше налить следующее:

Public Class Class1 

    Sub main() 
     Console.WriteLine(generateXMLSchema()) 
    End Sub 

    Private Function generateXMLSchema() 
     Dim generatedXmlSchema As String = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:glob=""http://sap.com/xi/SAPGlobal20/Global""><soapenv:Header/>" & 
      "<soapenv:Body>" & 
       "<glob:RouteBundleMaintainRequest_sync_V1>" & 
        "<Route actionCode=""01"">" & 
         "<Name>tEST 250502</Name>" & 
         "<RouteTypeCode>2</RouteTypeCode>" & 
        "</Route>" & 
       "</glob:RouteBundleMaintainRequest_sync_V1>" & 
      "</soapenv:Body>" & 
     "</soapenv:Envelope>" 

     Return generatedXmlSchema 
    End Function 

End Class 
+0

Спасибо. 'Dim myRequest As HttpWebRequest = CType (запрос, HttpWebRequest) myRequest.ContentType =" text/xml; charset = \ "utf-8 \" "' Здесь также я получаю предупреждение «Конец заявления ожидается» – GameBuilder

+0

Добро пожаловать , Если я выполнил ваш первоначальный вопрос, отметьте ответ как принятый. Вы нашли это полезным, вы можете захотеть его проголосовать. Что касается остальной части вашего комментария, пожалуйста, объясните. – user3598756

+1

теперь я видел ваше редактирование: try 'myRequest.ContentType =" text/xml; charset = \ "" utf-8 \ "" "' – user3598756

Смежные вопросы